websocket与socket

websocket与socket.io

  • http协议是单向的,无状态的
  • 应答模式是客户端请求,服务器应答
  • 如果想想实现这种实时聊天?

现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。
轮询是在特定的的时间间隔(如每1秒),
由浏览器对服务器发出HTTP请求,
然后由服务器返回最新的数据给客户端的浏览器。
这种传统的模式带来很明显的缺点,
即浏览器需要不断的向服务器发出请求,
然而HTTP请求可能包含较长的头部,
其中真正有效的数据可能只是很小的一部分,
显然这样会浪费很多的带宽等资源

  • Nodejs处理websocket协议太简单了

在node当中第三方有 socket.io包

npm install express socket.io -S :一起安装 express 和 socket.io

安装express:
npm i express --save-dev

分开安装(socket.io包):
npm install socket.io

var io = require(“socket.io”)(server);

在页面引入(这个io.js文件自动会生成):

emit 发布 发消息
socket.emit( ‘事件’,‘消息’ )

on 兼听事件
socket.on( ‘事件’,function(message){

} )

socket.emit 只让自己收到消息
socket.broadcast.emit 除了自己其它人会收到消息
io.emit 都会收到消息

全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务