【发布时间】:2012-01-21 12:08:52
【问题描述】:
我现在正在使用套接字在各种进程之间进行通信。一切都在同一台机器上运行,所以没有丢包,我也没有读取超时等。消息通常是小数据块(JSON,有时是二进制)。现在我想做跨机器通信.客户端/服务器连接通常如下所示:客户端告诉服务器开始一些处理(传递任务描述),服务器完成工作并反馈进度,客户端可以选择在其间发送终止消息。完成后,服务器会在客户端完全断开连接时继续侦听(即会话结束,启动新任务会启动新会话。)
我应该如何进行沟通?我可以轻松地继续在网络上使用套接字,但我的理解是我现在需要添加大量错误处理来识别消息何时没有通过并将其以某种方式传回服务器。我想要的只是send(message, target),请放心,完整的消息会被传输;加上对方死亡时的一些通知。我已经看到有一些像 zero-mq 这样的库声称可以做到这一点,但还有更多,我不确定这样的消息传递库是否真的必要。是否有一些易于使用的库来进行一些基本的交流?
我正在使用 C++ 和 Python,而 BSD 风格的许可证绝对是库的首选。该库也应该相当稳定,因为通信部分并不是很重要,我希望能够坚持使用一种解决方案。
【问题讨论】:
标签: python c networking network-programming