Django/Python:实时点对点聊天消息

noa*_*ale 6 python sockets django real-time

我使用Django和Gunicorn为我的前端iOS应用程序提供支持.到目前为止,我一直在使用简单的GET,PUT,POST请求从我的iOS应用程序向我的Django服务器发送和接收json数据,反之亦然.

这个设置一直很稳固,但我希望实现实时消息传递.当我刚开始时,我使用APNS(Apple的推送通知服务)向收件人实时传递消息.这是我过去做的一个例子:

如果UserA向UserB发送消息,我会通过JSON将消息发送到Django Server,在Django视图中处理它,使用pyAPNS - 一个用于APNS的python包装器,它会向UserB(接收者)发送推送通知以及有效负载大小256个字节.这很好用,但它也有一些缺点.

如果收件人选择禁用推送通知,则他们将不会收到该消息.在iOS应用程序中实现核心数据时,如果缓存对象,这可能会非常混乱.

所以这给我留下了另一种选择.构建基于套接字的东西,可以使用Django并将有效负载作为JSON发送.有任何想法吗?

Joe*_*Joe 6

你看过这里了吗:

https://pypi.python.org/pypi/django-socketio/

或者在这里:

http://maxburstein.com/blog/realtime-django-using-nodejs-and-socketio/

或者在这里:

https://www.djangopackages.com/grids/g/websockets/

有可能做到.

另外,我不明白为什么必须在django本身内解析实时消息传递.您可以简单地实现一些node.js类型的服务器来为您处理这个问题,iOS应用程序通过不同的API提取数据.除非您需要将消息传递数据附加到其他数据,否则这将起作用.