Websocket / event-source / …实现将双向RPC暴露给python / django应用程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Websocket / event-source / …实现将双向RPC暴露给python / django应用程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1608字,纯文字阅读大概需要3分钟。
内容图文
![Websocket / event-source / …实现将双向RPC暴露给python / django应用程序](/upload/InfoBanner/zyjiaocheng/758/0b16b31b3b3b403093b3e373318ac55f.jpg)
对于我正在研究的django应用程序,我需要实现两种方式RPC所以:
>客户端可以从平台调用RPC方法
>平台可以从每个客户端调用RPC方法.
由于客户端主要是在NAT之后(这意味着没有公共IP和不可预测的奇怪的防火墙策略),客户端的平台必须由客户端发起.
我对如何从头开始编写这个我有一个很好的想法,我也认为我可以从扭曲的发布者/订阅者模型中做一些事情,但我已经知道在python中总有一种最好的方法.
所以我想知道最好的方法是什么,这也将最好的整合到django.该代码必须能够在短期内与数百个客户进行合作,并且(我们希望)有数千个中/长期客户.
那么你建议我使用哪些库/实现?
我主要是寻找RTFM的起点!
解决方法:
websocket是一个移动目标,不时有新的规格.勇敢的开发人员实现了服务器端库,但很少实现客户端. Web套接字的客户端是Web浏览器.
websocket不是服务器与客户端通信的唯一方式,event source是一种将信息推送到客户端的简单实用的方法.这只是一个永无止境的页面. Twitter消防软管在规范之前使用这个技巧.客户端打开http连接并等待事件.连接保持打开状态,如果出现问题(连接切断,类似的话),请重新打开.
没有超时,您可以在一个连接中发送许多事件.
websocket和eventsource之间的区别很简单. Websocket是双向的,很难实现. Eventsource是单向的,易于实现,无论是客户端还是服务器端.
您可以将eventsource用作僵尸控制器.每个客户端连接并重新连接到主服务器并等待指令.收到指令后,僵尸会采取行动,如果需要,可以通过经典的http连接与其主人交谈,以django app为目标.
Eventsource保持连接打开,因此您需要一个异步服务器,如龙卷风. Django需要一个同步服务器,因此,你需要两个调度程序,如nginx. Django或类似cron的行动与异步服务器进行对话,与正确的僵尸对话. Zombie与django交谈,因此,异步服务器不需要任何支持,它只是一个插入僵尸的集线器.
Gevent能够处理这样的http服务器,但是没有合适的doc和示例.这是一个耻辱.我想要一辆车,你给我一个螺丝钉.
内容总结
以上是互联网集市为您收集整理的Websocket / event-source / …实现将双向RPC暴露给python / django应用程序全部内容,希望文章能够帮你解决Websocket / event-source / …实现将双向RPC暴露给python / django应用程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。