Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyzmq应该使用哪种协议?_Python_Tcp_Zeromq_Pyzmq - Fatal编程技术网

Python pyzmq应该使用哪种协议?

Python pyzmq应该使用哪种协议?,python,tcp,zeromq,pyzmq,Python,Tcp,Zeromq,Pyzmq,我正在从事一个项目,在这个项目中,我有一个python的客户机-服务器模型。我设置了一个服务器来监视请求并发回数据。PYZMQ支持:tcp、udp、pgm、epgm、inproc和ipc。我一直在使用tcp进行进程间通信,但不知道应该使用什么通过internet向服务器发送请求。我只需要放点东西进去: socket.bind(BIND_ADDRESS) 在internet上,TCP或UDP是常用的选择。我不知道pyzmq在传输协议上是否有自己的交付保证。否则,TCP将保证按顺序传递所有

我正在从事一个项目,在这个项目中,我有一个python的客户机-服务器模型。我设置了一个服务器来监视请求并发回数据。PYZMQ支持:tcp、udp、pgm、epgm、inproc和ipc。我一直在使用tcp进行进程间通信,但不知道应该使用什么通过internet向服务器发送请求。我只需要放点东西进去:

    socket.bind(BIND_ADDRESS)

在internet上,TCP或UDP是常用的选择。我不知道pyzmq在传输协议上是否有自己的交付保证。否则,TCP将保证按顺序传递所有消息,而UDP可能在网络拥塞时丢弃消息


如果你不知道自己想要什么,TCP是最简单、最安全的选择。

在互联网上,TCP或UDP是常见的选择。我不知道pyzmq在传输协议上是否有自己的交付保证。否则,TCP将保证按顺序传递所有消息,而UDP可能在网络拥塞时丢弃消息


如果您不知道自己想要什么,TCP是最简单、最安全的选择。

您不使用ipc或inproc进行进程间通信的具体原因是什么

除此之外,一般来说,你可以考虑TCP的通用通信器;它并不总是最好的选择,但不管怎样,只要你有一个IP地址,它就会工作

以下是在选择传输方式时需要了解的内容:

PGM/EPGM是多播传输——其思想是您发送一条消息,并将其作为单个消息传递,直到最后一个可能的时刻,它将被分解为多条消息,每个接收器一条。除非你绝对知道你需要这个,否则你不需要这个。 IPC/Inproc用于进程间通信。。。如果您在同一进程中的不同线程之间通信,或者在同一逻辑主机上的不同进程之间通信,那么这些可能是合适的。您可以从稍微减少开销中获益。如果您可能会添加新的逻辑主机,这可能是不合适的。 Russle Borogove列举了TCP和UDP之间的区别。通常,您需要使用TCP。只有当绝对速度比可靠性更重要时,才能使用UDP。 据我所知,ZMQ不支持UDP,因此如果它存在,则可能是由pyzmq绑定添加的


另外,我看了一下您的图表-您可能希望服务器ZMQ套接字绑定,客户端ZMQ套接字连接。。。可能会有一些原因导致这种情况发生逆转,但通常情况下,服务器被视为可靠对等方,客户端被视为临时对等方,您希望可靠对等方绑定,临时对等方连接。

您不使用ipc或inproc进行进程间通信的具体原因是什么

除此之外,一般来说,你可以考虑TCP的通用通信器;它并不总是最好的选择,但不管怎样,只要你有一个IP地址,它就会工作

以下是在选择传输方式时需要了解的内容:

PGM/EPGM是多播传输——其思想是您发送一条消息,并将其作为单个消息传递,直到最后一个可能的时刻,它将被分解为多条消息,每个接收器一条。除非你绝对知道你需要这个,否则你不需要这个。 IPC/Inproc用于进程间通信。。。如果您在同一进程中的不同线程之间通信,或者在同一逻辑主机上的不同进程之间通信,那么这些可能是合适的。您可以从稍微减少开销中获益。如果您可能会添加新的逻辑主机,这可能是不合适的。 Russle Borogove列举了TCP和UDP之间的区别。通常,您需要使用TCP。只有当绝对速度比可靠性更重要时,才能使用UDP。 据我所知,ZMQ不支持UDP,因此如果它存在,则可能是由pyzmq绑定添加的


另外,我看了一下您的图表-您可能希望服务器ZMQ套接字绑定,客户端ZMQ套接字连接。。。您可能会改变这种做法,这有一些原因,但一般来说,服务器被视为可靠对等方,客户端是临时对等方,您希望可靠对等方绑定,临时对等方连接。

对于感兴趣的人,我找到了一种SSH解决方法。不要让我们等待!我想看看SSH解决方案。对于那些感兴趣的人,我找到了一个SSH解决方案。不要让我们等待!我想看看SSH解决方案。