CreateResponseSocket() private method

private CreateResponseSocket ( ) : ResponseSocket
return ResponseSocket
コード例 #1
0
ファイル: AsyncWorker.cs プロジェクト: buldo/MQExperiments
 public AsyncWorker(int id, NetMQContext context, string address) : base(id)
 {
     _responseSocket = context.CreateResponseSocket();
     _responseSocket.Options.ReceiveHighWatermark = 2;
     _responseSocket.Options.SendHighWatermark = 2;
     _responseSocket.Options.Identity = BitConverter.GetBytes(id);
     _responseSocket.Connect(address);
 }
コード例 #2
0
ファイル: Heartbeat.cs プロジェクト: gwenzek/icsharp
        public Heartbeat(ILog logger,  string address, NetMQContext context)
        {
            this.logger = logger;
            this.address = address;
            this.context = context;

            this.server = context.CreateResponseSocket();
            this.stopEvent = new ManualResetEventSlim();
        }
コード例 #3
0
		public CommandListener (int port, Dictionary<int, Job> jobs)
		{
			this.Port = port;
			this.Jobs = jobs;
			this.Context = NetMQContext.Create ();
			this.RequestSock = Context.CreateResponseSocket ();
			this.RequestSock.Bind ("tcp://0.0.0.0:" + Port);
			logger.Info ("Bound to TCP port {0}", Port);

			this.ResponseSock = Context.CreatePushSocket ();
			this.ResponseSock.Bind ("tcp://0.0.0.0:" + (Port + 1));
			logger.Info ("Bound callback to TCP port {0}", (Port + 1));
		}
コード例 #4
0
ファイル: MmiModelRunner.cs プロジェクト: MischaJ/mmi-csharp
        public void Bind()
        {
            context = NetMQContext.Create();

            if (socket != null)
            {
                throw new NetMQException("Attempt to set socket that was already defined. This would prevent successful dispose of the context later on (since we can no longer close all sockets).");
            }
            socket = context.CreateResponseSocket();
            socket.Options.Linger = new TimeSpan(0, 0, 0, 1);

            Trace.Assert(Protocol.ToLower().Equals("tcp"), "Only TCP is supported for now");

            socket.Bind("tcp://" + Host + ":" + Port);
        }
コード例 #5
0
ファイル: HelloWorld.cs プロジェクト: somdoron/cookbook
        /// <summary>
        /// SimpleHelloWorldServer does the following:
        /// * Creates a Response socket
        /// * Waits for a "Hello" request
        /// * Sends a "World" reply
        /// </summary>
        /// <param name="context"></param>
        private void Server(NetMQContext context)
        {
            // create the response socket
            using (var response = context.CreateResponseSocket())
            {
                // bind the response socket, binds make the socket the "server"
                // * can be used to bind to all IP addresses
                response.Bind("tcp://*:5555");

                // response socket must first receive a message and only then reply
                string request = response.ReceiveFrameString();

                Assert.That(request == "Hello");

                response.SendFrame("World");
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: NDChen/MyDemoCode
        static void Server(NetMQContext context)
        {
            using (NetMQSocket serverSocket = context.CreateResponseSocket())
            {
                serverSocket.Bind("tcp://*:5555");

                while (true)
                {
                    string message = serverSocket.ReceiveFrameString();

                    Console.WriteLine("Receive message {0}", message);

                    serverSocket.SendFrame("World");

                    if (message == "exit")
                    {
                        break;
                    }
                }
            }
        }
コード例 #7
0
ファイル: ContextServer.cs プロジェクト: praveenv4k/indriya
 private void InitZmq(string host, int port)
 {
     if (_ctx == null)
     {
         _ctx = NetMQContext.Create();
         _socket = _ctx.CreateResponseSocket();
         var address = string.Format("{0}:{1}", host, port);
         _socket.Bind(address);
         Log.InfoFormat(@"Context server running at: {0}", address);
     }
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: kneave/skeletor
        private static void StartServerNetMq(NetMQContext context)
        {
            using (NetMQSocket serverSocket = context.CreateResponseSocket())
            {
                serverSocket.Options.SendTimeout = TimeSpan.FromMilliseconds(60000);

                serverSocket.Bind(string.Format("tcp://*:{0}", 2804));
                string message = string.Empty;
                string retMsg = string.Empty;

                Console.WriteLine("Server started;");

                while (true)
                {
                    //log.WriteLog("Received command {0}, {1} bytes returned.", message, results.Length);
                    try
                    {
                        message = serverSocket.ReceiveString();
                        //Console.WriteLine("Message: {0} received.", message);
                        if(message == "Who's there?")
                        {
                            TimeSpan timeSinceLast = DateTime.Now - lastVerification;

                            //if (verificationState == VerificationState.Verifying && timeSinceLast.TotalSeconds > 15)
                            //    name = string.Empty;

                            retMsg = name;
                        }

                        serverSocket.Send(retMsg);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Error sending data; message: {0}, error: {1}", message, e);
                        serverSocket.Send(string.Empty);
                    }
                }
            }
        }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NmqResponseQueue"/> class.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="port">The port.</param>
 internal NmqResponseQueue(NetMQContext context, int port)
 {
     socket = context.CreateResponseSocket();
     var address = string.Format("tcp://127.0.0.1:{0}", port);
     socket.Bind(address);
 }