【发布时间】:2011-07-03 01:16:58
【问题描述】:
我正在使用 .NET 中的 ZeroMQ,但在尝试解决一个奇怪的问题时遇到了困难。 我有一个 PUSH 类型的套接字和一个 PULL over TCP 类型的套接字。 当客户端断开连接时,服务器仍然能够发送一条消息(请注意,没有标志传递给 Socket.Send 方法),在开始阻塞并等待客户端重新连接并传递我尝试的消息之前,它会变得完全很多之后发送。
我怎样才能避免丢失消息(或者在最坏的情况下测试客户端是否连接,如果没有发送我可以承受丢失的虚拟消息)?
提前致谢!
编辑:进一步的测试表明,如果我在客户端断开连接后发送第一条消息后等待 1 秒钟,第二条消息将阻塞,但如果我根本不等待,我可以发送尽可能多的消息,它们都会丢失。这很令人困惑......
【问题讨论】:
标签: .net sockets client-server ipc zeromq