通过前面的学习发现,常见的websocket虽然可以很好地实现服务端和客户端的信息传递,但二者之间传递的数据只是简单的字符串,这对事物的描述,信息的传递是非常不友好的,下面将引入socket.io,来弥补这方面的不足。

先来一段简单的实现:

客户端代码:

服务端代码

运行client.html                                                                                  

可以发现,可以直接从服务器传一个对象。同时可以在终端看到从客户端发送的数据:{my: 'data'}

服务端的代码实现要依靠socket.io 实现,可以在相中通过 npm install --save socket.io进行安装,在server.js中引入就可以直接使用了。

可以发现,客户端和服务端数据传递类似于vue的父子组件通讯,通过socket.on监听某个事件,通过socket.emit触发某个事件,这个事件是自定义的,同时第二个参数就是需要传递的数据;

现在应用socket.io对之前聊天室的例子做一下改进:

客户端代码:

服务端代码:

代码更加精炼,同时避免了字符串和JSON数据之间的来回切换。


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

websocket(二)——基于node js 的同步聊天应用知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。