ZeroMQ C#Hello World示例

时间:2012-05-29 15:18:19

标签: c# sockets zeromq

出于好奇,我决定在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);

该计划陷入了这条线。我想这可能与冲突的tcp地址有关?不太确定,因为我对插槽级编程没有太多经验。

关于为什么这不起作用的任何想法?我搜索过ZeroMQ文档,但还没有找到任何东西。

1 个答案:

答案 0 :(得分:3)

注意它叫做“HWClient”。还有一个Hello World服务器端。你应该先运行它。