0
我有一個簡單的服務器上運行:ZeroMQ可以在單端口上以併發多線程模式工作嗎?
using (var context = ZmqContext.Create())
using (var socket = context.CreateSocket(SocketType.REP)) {
Console.WriteLine("Starting on {0}", tcpAddress);
socket.Bind(tcpAddress);
while (true) {
var replyMessage = socket.Receive((Encoding.Unicode));
Console.WriteLine("Received: [{0}]", replyMessage);
// Do some stuff
socket.Send(string.Format("Received [{0}]", replyMessage), Encoding.Unicode);
}
}
當我使用一個客戶端請求的信息,它返回,但是當多個客戶端點擊服務器的請求排隊,並正在等待服務器以響應,因爲它一次只能處理一個請求。
有沒有辦法讓這個ZeroMQ服務器能夠監聽多個客戶端請求的tcpaddress並同時處理它們?
感謝盧克,我使用SmartThreadPool做了類似的事情,但是想知道是否有更通用的和可擴展的東西。如果必須,我會按照您的建議推出自己的產品。 –