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

时间:2014-01-01 23:33:53

标签: python django sockets 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发送。有什么想法吗?

1 个答案:

答案 0 :(得分: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提取数据。除非您需要将消息传递数据附加到其他数据,否则这将起作用。

相关问题