CNode

[讨论] 实时聊天实现。

Kkingchung发布于12 年前最后回复12 年前8 回复4977 浏览0 收藏

网上很多看到使用websocket可以很好地实现实时功能。除了兼容性之外,websocket就像是无敌了一样。但实际应用,很多项目也只是使用comet或者其他长轮询的实现而没有,那是为什么呢?

查看回复

回复 (8)

J
jiyinyiyong#1·12 年前

不知道, 不过用 WebSocket 也不完全就是好处, 一个坏处是没有回调, 完全消息的逻辑, 写起来不方便, 还有 Socket 连接一直连着会耗比 Ajax 多的服务端性能.

Y
youxiachai#2·12 年前

因为实际应用....没多少个能支持websocket....

Y
youxiachai#3·12 年前

你要看现在能支持websocket 的浏览器 IE 妥妥的全系列不能支持...而已现在的IE份额..你能抛弃这部分用户?

移动端..可能稍微好一些.ios 6 就原生支持了..不过,现在份额最大的android ..android 4.4 才支持websocket...

你说实际应用怎么玩websocket...

K
kingchung#4·12 年前
引用 jiyinyiyong不知道, 不过用 WebSocket 也不完全就是好处, 一个坏处是没有回调, 完全消息的逻辑, 写起来不方便, 还有 Socket 连接一直连着会耗比 Ajax 多的服务端性能.

我现在项目用的是socket.io实现的实时聊天功能,我封装了一层(封装了Room, 简单的事件绑定,Room内的广播),做业务逻辑还是蛮爽的。服务器是单独的只给这个应用使用的,平时有看到,资源占用也不多。暂时项目在线人数也不会很多,但老会出现奇怪问题。一段时间连接会自动断掉。看log也没有明显的报错。

目前做的改进都只限于应用级别的,非常郁闷......

J
jiyinyiyong#8·12 年前
引用 jiyinyiyong不知道, 不过用 WebSocket 也不完全就是好处, 一个坏处是没有回调, 完全消息的逻辑, 写起来不方便, 还有 Socket 连接一直连着会耗比 Ajax 多的服务端性能.

@KingChung 我公司里后端的同学用了 Socket.IO 出现过 CPU 占满的情况, 出现在大量链接断线重连的时候,, 感觉也挺危险的

参与回复
登录后即可参与回复。登录