public static IPublisherSocket AsPublisher(this EasyZMqConfigurer configurer)
        {
            var serializer    = configurer.Serializer;
            var addressBinder = configurer.AddressBinder;
            var socket        = new NetMQ.Sockets.PublisherSocket();

            return(new PublisherSocket(serializer, addressBinder, socket));
        }
        public static IDynamicPublisherSocket AsDynamicPublisher(this EasyZMqConfigurer configurer)
        {
            var serializer    = new TypeUnawareJsonSerializer();
            var addressBinder = configurer.AddressBinder;
            var socket        = new NetMQ.Sockets.PublisherSocket();

            return(new PublisherSocket(serializer, addressBinder, socket));
        }
예제 #3
0
        void OpenZMQConnections()
        {
            string connectionString = "tcp://*:5457";

            this.publisherSocket = new NetMQ.Sockets.PublisherSocket();
            this.publisherSocket.Bind(connectionString);
            // remember that ZMQ Publishers must start *before* any Subscribers connect

            Debug.WriteLine($"ZMQ Publisher Started on {connectionString}.");
        }
예제 #4
0
 private static object pub_Lock = new object(); //锁同步
 //public static List<Task> taskList = new List<Task>();
 public PublisherService()
 {
     lock (pub_Lock)
     {
         if (publisher == null)
         {
             publisher = new NetMQ.Sockets.PublisherSocket();
             publisher.Bind(ManagerHelp.PublisherIP);
         }
     }
 }
예제 #5
0
        //!
        //! sender function, sending messages in sendMessageQueue to server (executed in separate thread)
        //!
        public void publisher()
        {
            //create NetMQ context
            NetMQContext ctx = NetMQContext.Create();

            NetMQ.Sockets.PublisherSocket sender = ctx.CreatePublisherSocket();
            sender.Connect("tcp://" + VPETSettings.Instance.serverIP + ":5557");

            while (isRunning)
            {
                if (sendMessageQueue.Count > 0)
                {
                    // Debug.Log("Publisher: " + sendMessageQueue[0] as string);
                    sender.Send("client " + sendMessageQueue[0] as string);
                    sendMessageQueue.RemoveAt(0);
                }
            }

            sender.Disconnect("tcp://" + VPETSettings.Instance.serverIP + ":5557");
            sender.Close();
        }