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位 - 相同的行爲。
任何想法?