我正在写一个嵌入在web应用程序中的python实时聊天功能。我对实时实现有点困惑。我需要推送实时消息给不同的用户。
我计划使用websocket,但我不太确定如何将这些套接字保存到数组中,以便一旦用户向服务器发送消息,服务器可以找到相关的套接字并推送消息。
有什么想法吗?或者实现实时聊天功能的常见方法是什么?
你需要使用一个websocket感知的web服务器,比如Tornado来处理websocket流量。要在不同的聊天和用户之间多路复用聊天消息,可以使用Redis和ZeroMQ等解决方案进行消息多路复用。
然而,听起来你没有经验和起点,所以从一个工作示例开始是更好的方法。请学习现有的Python实时聊天实现:
https://github.com/heroku-examples/python-websockets-chat https://github.com/nellessen/Tornado-Redis-Chat https://github.com/tornadoweb/tornado/blob/master/demos/websocket/chatdemo.py http://ferretfarmer.net/2013/09/05/tutorial-real-time-chat-with-django-twisted-and-websockets-part-1/