Doron/anyone:
First of all, thank you for NetMQ. It's very powerful and useful.
I'm using it to subscribe to data in an Excel addin - using Excel DNA as a wrapper for C#.
I'm getting this error form the subscriber:
2018-08-29 09:00:30,270 [1] ERROR [AddinName].RtdServer System.Net.Sockets.SocketException (0x80004005): An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at NetMQ.Core.Utils.Signaler..ctor()
at NetMQ.Core.Mailbox..ctor(String name)
at NetMQ.Core.Ctx..ctor()
at NetMQ.NetMQConfig.get_Context()
at NetMQ.NetMQSocket..ctor(ZmqSocketType socketType, String connectionString, DefaultAction defaultAction)
at CentivaExcelRealTime.RtdServer..ctor()
I don't understand why the error indicates it's trying to bind when the code doesn't explicitly bind. Here is an example of one of the subscribers:
var updateTimesSubscriber = new SubscriberSocket();
updateTimesSubscriber.Connect(String.Format("tcp://{0}:{1}", Properties.Settings.Default.HostServer, Properties.Settings.Default.UpdateTimesPort));
updateTimesSubscriber.Subscribe("updateTimes");
updateTimesSubscriber.ReceiveReady += UpdateTimesSubscriber_ReceiveReady;
If the subscriber is in fact binding to the socket, it would explain another error I'm getting from one of the publishers which runs on the same machine as the subscribers:
2018-08-27 09:32:35,147 [VSTA_Main] ERROR Shared.Updates NetMQ.NetMQException: Exception of type 'NetMQ.NetMQException' was thrown. ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions
at AsyncIO.Windows.Socket.Bind(IPEndPoint localEndPoint)
at NetMQ.Core.Transports.Tcp.TcpListener.SetAddress(String addr)
--- End of inner exception stack trace ---
at NetMQ.Core.Transports.Tcp.TcpListener.SetAddress(String addr)
at NetMQ.Core.SocketBase.Bind(String addr)
at NetMQ.NetMQSocket..ctor(ZmqSocketType socketType, String connectionString, DefaultAction defaultAction)
at Shared.Updates.SendMessage(String Topic, String Message)
Thank you,
Josh