我使用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发送.有任何想法吗?
你看过这里了吗:
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提取数据.除非您需要将消息传递数据附加到其他数据,否则这将起作用.