socket.io 是一个基于Node.js的项目,其作用主要是将WebSocket协议应用到所有的浏览器。
该模块主要应用于实时的长链接多请求项目中,例如在线联网游戏、实时聊天、实时股票查看、二维码扫描登录等。
----------------------------------------------window 安装开始------------------------------------------------------
D:\nodejs\app3\app>npm install socket.io
/> ws@0.4.31 install D:\nodejs\app3\app\node_modules\socket.io\node_modules\engin
e.io\node_modules\ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)|
D:\nodejs\app3\app\node_modules\socket.io\node_modules\engine.io\node_modules\ws
>node "D:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_mod
ules\node-gyp\bin\node-gyp.js" rebuild
-> ws@0.4.31 install D:\nodejs\app3\app\node_modules\socket.io\node_modules\socke
t.io-client\node_modules\engine.io-client\node_modules\ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)D:\nodejs\app3\app\node_modules\socket.io\node_modules\socket.io-client\node_mod
ules\engine.io-client\node_modules\ws>node "D:\Program Files\nodejs\node_modules
\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
socket.io@1.0.6 node_modules\socket.io
├── debug@0.7.4
├── has-binary-data@0.1.1 (isarray@0.0.1)
├── engine.io@1.3.1 (base64id@0.1.0debug@0.6.0engine.io-parser@1.0.6, ws@
0.4.31)
├── socket.io-parser@2.2.0 (isarray@0.0.1emitter@1.0.1json3@3.2.6)
├── socket.io-adapter@0.2.0 (socket.io-parser@2.1.2)
└── socket.io-client@1.0.6 (indexof@0.0.1to-array@0.1.3, component-emitter@
1.1.2, component-bind@1.0.0object-component@0.0.3parseuri@0.0.2, engine.io-c
lient@1.3.1)
----------------------------------------------window 安装结束------------------------------------------------------
安装完毕之后使用如下的代码即可测试socket,在文章最后还有代码下载,请注意。
server端代码:
var io = require('socket.io').listen(8080);//设置socket监听8080端口
io.sockets.on('connection',function (socket){//调用socket api 的sockets.on接口,当客户端连接时,执行回调函数
    socket.emit('news',{hello:'客户端你好,我是服务端'});//链接成功后发送一个 news 的消息,后面是发送的内容
    socket.on('my other event',function (data){//客户端回送数据的时候  执行回调函数
        console.log(data);
    });
});
client 端代码:
<script src="socket.io-1.0.6.js"></script>
<script>
    var socket = io.connect('http://localhost:8080');
    socket.on('news',function (data) {//接受服务端的数据之后 打印服务端传来的数据
        console.log(data);
        socket.emit('my other event',{my : '服务端你好,我是客户端发来的数据: Client Data'});//发送'my other event'到服务端
    });
</script>
如下是完整的代码,包括socket的库文件也在里面,详细如附件:
解压密码: www.cfei.net
【Node.js学习笔记四】- socket.io模块-飞网