通过LAN发送更大的数据块时,ZMQ失败

时间:2011-03-28 16:06:19

标签: python sockets zeromq

基本上我有一个主系统和3个从系统。我已经使用请求/响应阶段将内容发送到我的3个客户端系统,因为它固有地解决了我的数据拆分问题。在将内容发送到我的3个客户端系统之后,我关闭了负责REQ / REP topolgy的套接字,并创建了另一组套接字,这些套接字与各个从属系统配对,以便从所有3个系统接收内容。我在localhost中运行了整个代码我没有任何问题,一切顺利,即使我试图从客户端系统之一发送40MB数据集到主系统。

问题是当我尝试在我的实验室中通过LAN实现此功能时

  1. REQ / REP阶段运行顺畅,因此基本上所有客户端系统都会获取要处理的数据集。

  2. 当我尝试处理大量数据时(例如40MB,因为我在字典中加载了内容并且字典对象的大小达到了24MB时,我有点不认为更大),客户端的单独PAIR失败了。有点窒息而且由于某种原因没有处理。

  3. 我不知道为什么它在局域网上的行为与我的系统不同。

    我在局域网中使用的系统是AMD双核64位,带2GB RAM(全部4个系统)

    如果您有兴趣运行代码,请

    主系统代码:http://codepad.org/5uVCEb42

    Salve1:http://codepad.org/LNmi9vu2

    Slave2:http://codepad.org/0vmEAJYc(这个从文件中获取40MB内容,最后传递给Master系统)

    Slave3:http://codepad.org/d565lgiv

1 个答案:

答案 0 :(得分:2)

PAIR套接字不会自动重新连接,因此不建议将它们用于LAN。