Python下有什么比较好的实时推送信息的方案?

2013-06-04 10:56:24 +08:00
 moyaya
手工客的交易系统上线之后,想再完善一下我们社区现有的站内信功能(方便买卖双方的对话),介于即时通信和站内信中间的一种方案,能够实时推送数据,而不依赖于用户的强制刷新,类似微博的私信。

请教一下,python下面有什么好的解决方案,或推荐比较成熟的库。

Comet据说有延时,实际用过的也来指教一下,谢谢!
5960 次点击
所在节点    问与答
13 条回复
jerry
2013-06-04 10:58:14 +08:00
websocket 不过只适用于现代浏览器,老浏览器只能长链接了
moyaya
2013-06-04 11:55:30 +08:00
@jerry 哎,这个是我们最头痛的,我们的用户80%都是用360之类的浏览器。
jerry
2013-06-04 12:03:37 +08:00
用类tornado的异步功能做长链接好了
moyaya
2013-06-04 12:15:57 +08:00
@jerry 我们用的是django
spritevan
2013-06-04 12:41:50 +08:00
socket.io 或者 pyxmpp
feilaoda
2013-06-04 12:42:30 +08:00
@moyaya 直接socket.io啊
后台架一个nodejs server,和django共存
搞复杂点,就是web版的im了。
buru
2013-06-04 12:48:13 +08:00
socket.io做推送 ,都有现成的解决方案了吧
eYeer
2013-06-04 12:58:38 +08:00
在页面搞个定时器,ajax获取消息不可以吗?
还要什么方案?
moyaya
2013-06-04 20:39:55 +08:00
@eYeer @buru @feilaoda @spritevan @jerry 感谢几位:)

如果用coment长连接的话,代码改动太大,还是先用ajax轮询来做吧

再次谢谢!
julyclyde
2013-06-04 22:57:12 +08:00
@moyaya 360其实挺现代的
zhy0216
2013-06-04 23:15:07 +08:00
我是用eventsource做的
moyaya
2013-06-05 10:26:09 +08:00
@julyclyde IE 8的内核
hepochen
2013-06-05 12:08:48 +08:00
楼主没看明白大家的意思,比如socket.io是一个解决方案,它会自动判断与处理websocket以及长连接轮询。

python中也有基于gevent的socket.io的服务端解决方案,融合到django中还算简单。

socket.io原生库的服务端解决方案是node.js

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/71147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX