当前位置:Gxlcms > JavaScript > node.js中使用socket.io的方法_node.js

node.js中使用socket.io的方法_node.js

时间:2021-07-01 10:21:17 帮助过:4人阅读

使用socket.io的使用创建一个socket.io服务器即可.但是该服务器依赖于一个已经创建的http服务器.

在http服务器运行之后,使用listen方法为该http服务器附加一个socket.io服务器.

代码如下:

var sio=require("scoket.io");
var socket=sio.listen(server);

socket就是在server基础上创建的一个socket.io服务器.

当客户端与服务器端建立连接时,触发socket.io服务的connection事件.

代码如下:

socket.on("connection",function(socket){
});

回调函数中的socket参数是服务器端与客户端建立连接的socket端口对象.

当接收到客户端发送的消息时,发出socket端口对象的message事件.

代码如下:

socket.on("message",function(msg){
});

回调函数的参数是客户端发送的消息.

可以使用socket.send(msg)向客户端发送一个消息.

当服务器端可客户端的连接断开时触发disconnect事件.

代码如下:

socket.on("disconnect",funciton(){
});

该回调函数不适用任何参数.

服务器端server.js代码:

代码如下:

var http=require("http");
var sio=require("socket.io");
var fs=require("fs");
var server=http.createServer(function (req,res) {
res.writeHead(200,{"Content-type":"text/html"});
res.end(fs.readFileSync("./index.html"));
});
server.listen(1337);
var socket=sio.listen(server);
socket.on("connection", function (socket) {
console.log("客户端建立连接");
socket.send("你好");
socket.on("message", function (msg) {
console.log("接收到一个消息:"+msg);
});
socket.on("disconnect", function () {
console.log("客户端断开连接.");
});
});

创建客户端index.html代码:

代码如下: