using System;
using NetMQ;
using NetMQ.Sockets;
namespace HelloWorld
{
internal static class Program
{
private static void Main()
{
Console.Title = "NetMQ HelloWorld";
using (var server = new ResponseSocket("@tcp://localhost:5556"))
using (var client = new RequestSocket("tcp://localhost:5556"))
{
client.SendFrame("Hello");
Console.WriteLine("From Client: {0}", server.ReceiveFrameString());
server.SendFrame("Hi Back");
Console.WriteLine("From Server: {0}", client.ReceiveFrameString());
Console.WriteLine();
Console.Write("Press any key to exit...");
Console.ReadKey();
}
}
}
}
运行结果:
总结:
1、最基本的请求回应模型。
2、效果来看与 sento 和 recvfrom 没什么区别,且地址只能绑定一次,即该实例同时只能运行一个。
3、使用 ReceiveFrameString() 是阻塞的,在没有接收到消息时不会运行后面的代码,可以去掉任意一组 SendFrame() 看效果。
4、还没有去查 ReceiveFrameString() 是否有Timeout之类的特性。