Hello everyone, I'm having problem using Monitor with NetMQ. Please tell me if
there is a dedicated place to ask about NetMQ, or possibly report bug.
Here's what I do :
1) I create and bind a DEALER socket, associate a monitor to it and start
monitoring it.
2) Then I Unbind the socket, stop monitoring, dispose everything but the
NetMQContext.
3) Finally, I want to start again 1) but I receive a NetMQException because
the inproc socket created by the DEALER socket to send event to its monitor is
still alive.
Next is a simple code to see my problem :
using System;
using System.Threading;
using NetMQ;
using System.Threading.Tasks;
using NetMQ.Monitoring;
using NetMQ.zmq;
namespace Server
{
class ServerProg
{
static void CreateServerSocket(NetMQContext ctx)
{
try
{
using (var server = ctx.CreateDealerSocket())
{
var monitor = new NetMQMonitor(ctx, server,
"inproc://*:4556.monitor",
SocketEvent.Connected |
SocketEvent.Disconnected);
Task monitorTask = Task.Factory.StartNew(monitor.Start);
server.Bind("tcp://*:4556");
Thread.Sleep(500);
server.Unbind("tcp://*:4556");
monitor.Stop();
monitor.Dispose();
server.Close();
server.Dispose();
}
}
catch (NetMQException e)
{
Console.Out.WriteLine("Exception: " + e);
throw;
}
}
static void Main(string[] args)
{
using (NetMQContext ctx = NetMQContext.Create())
{
CreateServerSocket(ctx);
CreateServerSocket(ctx);
}
}
}
}
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev