动作同步尝试用过browser-sync辅助开发的前端同学,大概都会感到神奇:在多个端打开网页,网页的动作却是完全同步的。当然我还没有看过源码,大概也知道是通过’websocket’实现信息同步。今天在看书籍《跨终端Web》–徐凯 的时候,里面有一部分 web动作同步的代码演示。于是做了demo做练习。
准备工具
koa : @1.1.2socket.io : @1.5.0
其中koa并没有什么特别意思,只是作为一个服务器存在,用express或者其他什么都可以。socket.io是我们需要的通讯库
原理1、 前端捕获正在发生的动作action,和触发动作的元素target,通过客户端socket传输到服务器socket;2、 服务器socket接收到信息,再将信息广播到其他所有客户端socket;3、 其他客户端socket接收到广播信息,使特定的元素target触发特定的动作action
阅读全文
前言 这个学期以来一直在学习nodejs,发现真的很便利,也萌生了利用nodejs搭建即时聊天系统的念头。 之前已经尝试过利用webSocket来搭建了,也很成功,相比PHP方便太多。我以为使用socket也差不多。 后来才发现自己的念头太简单了。使用socket更方便。 socket.io与单纯的webSocket不同,socket利用on和emit不断在客户端监听和触发各种自定义事件,自定义操作性很强
开始 这一次的聊天系统基于 nodejs+express+socket.io+bootstrap.下面是我开发时的相应版本:
socket.io v1.3.7nodejs v4.1.1express v4.13.1bootstrap v3.3.5
实例地址 : http://chat.carvenzhang.cn
源码地址 : https://github.com/zjy01/socketChat/
参考源码 : https://github.com/coofly/qx-chat (博主是参考这个源码写的)
阅读全文