.net ZeroMQ接收状态在版本中编译时中断
我们使用ZeroMQ unter VB.NET进行测试,在使用发布/订阅套接字时会产生奇怪的效果。当我们在调试模式下编译时,一切正常。当处于释放状态时,子程序将获得一个套接字。Receivestatus=中断。代码段:.net ZeroMQ接收状态在版本中编译时中断,.net,release,zeromq,.net,Release,Zeromq,我们使用ZeroMQ unter VB.NET进行测试,在使用发布/订阅套接字时会产生奇怪的效果。当我们在调试模式下编译时,一切正常。当处于释放状态时,子程序将获得一个套接字。Receivestatus=中断。代码段: Dim context = ZmqContext.Create Dim socket = context.CreateSocket(SocketType.SUB) socket.SubscribeAll() socket.Connect("tcp:
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)
....
就我们现在所见,它与每条信息的长度有关;如果它很小(我想我发现了:你必须关闭“项目设置”…编译…高级选项下的“优化”复选框。更改后,一切正常 我的建议是:在ZeroMQ的未来版本中,行为将得到修复,就像有人忘记禁用此选项一样,系统将在测试(调试)条件下工作,但在实时(发布)中失败