出于好奇,我决定遍历ZeroMQ库中的几个示例。具体来说,位于http://zguide.zeromq.org/cs:hwclient的“Hello World”示例
据我所知,我已经正确地复制了示例中的代码,并且具有以下内容:
public class Program
{
public static void Main(string[] args)
{
using(var context = new Context(1))
{
using(Socket requester = context.Socket(SocketType.REQ))
{
requester.Connect("tcp://localhost:5555");
const string requestMessage = "Hello";
const int requestsToSend = 10;
for(int requestNumber = 0; requestNumber < requestsToSend;requestNumber++)
{
Console.WriteLine("Sending Request {0}...", requestNumber);
requester.Send(requestMessage,Encoding.Unicode);
string reply = requester.Recv(Encoding.Unicode);
Console.WriteLine("Received Reply {0}: {1}", requestNumber, reply);
}
}
}
Console.ReadLine();
}
}
我遇到的问题是,一旦它到达下一行,该程序就会停止并等待该消息,并且似乎永远不会收到它。
string reply = requester.Recv(Encoding.Unicode);
该程序被 catch 了这一行。我想这可能与冲突的tcp地址有关?不太确定,因为我不太熟悉套接字级别的编程。
关于为什么这行不通的任何想法?我已经搜索了ZeroMQ文档,但到目前为止还没有提出任何建议。
最佳答案
注意它如何称为“HWClient”。还有一个Hello World Server端。您应该先运行它。
关于c# - ZeroMQ C#HelloWorld示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802012/