using (var context = new Context(1))
{
using (Socket socket = context.Socket(SocketType.XREQ))
{
socket.SetSockOpt(SocketOpt.LINGER, 100ul);
socket.Connect("tcp://somewhere:5566");
string content = "test message";
socket.Send(content, Encoding.Unicode);
string message = socket.Recv(Encoding.Unicode);
Console.WriteLine("Received reply: " + message);
}
}
我已经尝试了longs,ulongs和byte数组,但我找不到一个不会导致抛出“非法参数”异常的值。
答案 0 :(得分:1)
正如我从clrzmq2库源(Socket.cs)中看到的那样,使用long,ulong,byte array的SetSocketOpt()方法有4次重载}或integer参数。要指定套接字关闭的延迟时间,请使用整数参数。 无论如何,我建议你使用Socket.Linger属性来避免任何可能的解雇。