0
时中断我们正在使用ZeroMQ unter VB.NET进行测试,并且在使用PUB/SUB套接字时会产生奇怪的效果。当我们在调试模式下编译时,一切正常。在发布版中,SUB-Programm获取一个socket.Receivestatus =中断。代码片段:ZeroMQ Receive-Status在编译版本
Dim context = ZmqContext.Create
Dim socket = context.CreateSocket(SocketType.SUB)
socket.SubscribeAll()
socket.Connect("tcp://127.0.0.1:5550")
socket.ReceiveTimeout = TimeSpan.FromMilliseconds(1000)
socket.ReceiveHighWatermark = 1000
Console.WriteLine("Listening...")
While True
Dim msg As String
msg = socket.Receive(Encoding.Unicode)
Select Case socket.ReceiveStatus
Case ReceiveStatus.Interrupted
Console.WriteLine("Status={0}", socket.ReceiveStatus)
....
目前为止我们可以看到它,它与每条消息的长度有关;如果它很小(< 100字节),所有内容在调试&发布模式下均可正常工作。如果我们假设每条消息有2000字节,则只收到137条消息,然后发生错误。
我们通过NuGet安装了ZeroMQ(package id =“clrzmq”version =“3.0.0-rc1”)。我们检查了32位和64位 - 相同的行为。
任何想法?