求教一些远程通信的问题?

2017-12-01 09:37:14 +08:00
 xboylegend
本人 python 新人爱好者一枚,现在可以自己写一些小 python 脚本提高日常工作效率。

最近想实现一些远程的数据传输与功能调用。例如将客户端采集或生成的数据传递给服务器做统一处理或反馈。

现在能想到的方法一个是使用 SOCKET。又或者在远端的服务器用 python 实现 web api 来进行调用。

请问各位前辈,还有哪些方式可以实现类似想法。哪种方式更好一些?
2569 次点击
所在节点    Python
5 条回复
p2pCoder
2017-12-01 09:42:03 +08:00
RPC 和 http 都行
数据传输的话,thrift 是一个不错的选择
饿了么有开源的 thrift python 实现 https://github.com/eleme/thriftpy
northisland
2017-12-01 10:45:09 +08:00
我还记得 ZeroMQ 里的 4 种消息模式:

1 对 1 PAIR
客户端服务端 REQ-REP
订阅多种消息推送 SUB-PUB
生产者-消费者模式 PUSH-PULL

好像 C++里还有 route 模式
http://learning-0mq-with-pyzmq.readthedocs.io/en/latest/pyzmq/patterns/patterns.html
xboylegend
2017-12-01 13:56:02 +08:00
@p2pCoder
@northisland

谢谢两位的建议,思路开阔了很多。第一次了解到 ZeroMQ 感觉值得深入研究一下
debuggerx
2017-12-01 14:34:53 +08:00
之前写的远程调用,linux 运行 client 将写好的代码发送到 win 的 server,编译好后再返回到 linux 上。
Server.py
https://gist.github.com/anonymous/063f0e39a8f974946a05ed3e7d6e8b6e

Client.py
https://gist.github.com/anonymous/7f3f4c10a01a5694ff8bb4dd94341c0a

方法虽然古老,最少够小够轻,python 自带都不用再额外装库就能稳定工作了
fxxkgw
2017-12-01 18:29:41 +08:00
mq 或者 celery 感觉都可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/410995

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX