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.0, debug@0.6.0, engine.io-parser@1.0.6, ws@
0.4.31)
├── socket.io-parser@2.2.0 (isarray@0.0.1, emitter@1.0.1, json3@3.2.6)
├── socket.io-adapter@0.2.0 (socket.io-parser@2.1.2)
└── socket.io-client@1.0.6 (indexof@0.0.1, to-array@0.1.3, component-emitter@
1.1.2, component-bind@1.0.0, object-component@0.0.3, parseuri@0.0.2, engine.io-c
lient@1.3.1)
/> 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.0, debug@0.6.0, engine.io-parser@1.0.6, ws@
0.4.31)
├── socket.io-parser@2.2.0 (isarray@0.0.1, emitter@1.0.1, json3@3.2.6)
├── socket.io-adapter@0.2.0 (socket.io-parser@2.1.2)
└── socket.io-client@1.0.6 (indexof@0.0.1, to-array@0.1.3, component-emitter@
1.1.2, component-bind@1.0.0, object-component@0.0.3, parseuri@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

支付宝扫一扫
微信扫一扫
