我有以下设置:
static void Main(string[] args)
{
List<auto> autos = new List<auto>();
autos.Add(new auto("Lamborgini" , "Aventador" , "2004"));
display(autos);
}
我的 zmq::proxy( acceptor, clients, nullptr );
是acceptor
,我的 zmq::socket_type::stream
是clients
。< / p>
我发现当另一端发送大量请求( zmq::socket::type::dealer
)时,请求会被分解并分发给我的经销商线程。一个经销商得到了消息的负责人,其他经销商得到了中间的碎片。我没有设置任何特殊选项,因此看起来这是默认的zeromq行为。
我正在使用ZeroMQ 4.2.2。
有没有办法覆盖这种行为并保证向我的经销商线程传递完整的消息?
答案 0 :(得分:1)
@namdam在发布版本详细信息方面值得[+1]
有什么可以覆盖这个...... ?
ZMQ_STREAM
类型的套接字用于在使用tcp://
传输时从非ØMQ对等方发送和接收TCP数据。ZMQ_STREAM
套接字可以充当客户端和/或服务器,异步发送和/或接收TCP数据。兼容的对等套接字。 。 。 。 。的无强>
所以无论哪种方式,编写代理来处理兼容的socket-archetypes(没有尝试将ZMQ_STREAM
硬连线到任何其他ZeroMQ本机套接字原型),即完全避免使用ZMQ_STREAM
,或者创建一个读取网关,它在一侧解码和调解 ZMQ_STREAM
兼容行为,并与网关逻辑另一侧的其他ZeroMQ本机套接字 - archtypes接口。
如果有疑问,您可以阅读[ZeroMQ hierarchy in less than a five seconds] 部分中主要概念差异的简要介绍{>强>