public string sendMessage(string message) { string result = null; using (var requester = new ZSocket(ZSocketType.REQ)) { // Connect requester.Connect("tcp://127.0.0.1:5556"); for (int n = 0; n < 10; ++n) { Console.Write("Sending {0}...", message); // Send requester.Send(new ZFrame(message)); // Receive using (ZFrame reply = requester.ReceiveFrame()) { result = reply.ReadString(); Console.WriteLine(" Received: {0}", reply.ReadString()); } } } return(result); }
//普通客户端 private static void Req() { using (var context = new ZContext()) { using (var requester = new ZSocket(context, ZSocketType.REQ)) { // Connect requester.Connect("tcp://127.0.0.1:5555"); while (true) { Console.WriteLine("Please enter your message:"); string message = Console.ReadLine(); requester.Send(new ZFrame(message)); // Send //requester.Send(new ZFrame(requestText)); // Receive using (ZFrame reply = requester.ReceiveFrame()) { Console.WriteLine("Received: {0} {1}!", message, reply.ReadString()); if ("exit" == reply.ReadString()) { break; } } } } } }
static void StartReceiver(String endpoint, bool bind = true) { using (ZContext context = new ZContext()) using (ZSocket receiver = new ZSocket(context, ZSocketType.REP)) { if (bind) { receiver.Bind(endpoint); Console.WriteLine("Receiver Bound To " + endpoint); } else { receiver.Connect(endpoint); Console.WriteLine("Receiver Connected To " + endpoint); } while (true) { using (ZFrame request = receiver.ReceiveFrame()) { String req = request.ReadString(); Console.WriteLine(">>> " + req); Thread.Sleep(10000); receiver.Send(new ZFrame(req.ToUpper())); Console.WriteLine("<<< " + req.ToUpper()); } } } }
static void Auth() { Console.WriteLine("Auth"); ThreadPool.QueueUserWorkItem(state => { using (var context = new ZContext()) using (var responder = new ZSocket(context, ZSocketType.REP)) { responder.Bind("tcp://*:5" + port + "5"); while (!Stop) { Console.WriteLine("Waiting"); using (ZFrame request = responder.ReceiveFrame()) { string buf = request.ReadString(); if (CreateNewPlayer(buf)) { responder.Send(new ZFrame("Accepted")); } else { responder.Send(new ZFrame("Error")); } } } } }); }
/// <summary> /// 这是基础模式 /// </summary> /// <param name="args"></param> public static void HwServer0(string[] args) { // Create using (var context = new ZContext()) using (var responder = new ZSocket(context, ZSocketType.REP)) { // Bind responder.Bind("tcp://127.0.0.1:5555"); //responder.Send(new ZFrame("chenchang"));//这里会报错,因为req套接字只能先receive才能发送 while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("Received {0}", request.ReadString()); // Do some work Thread.Sleep(1); // Send responder.Send(new ZFrame("World")); } } } }
public static void RRClient(IDictionary <string, string> dict, string[] args) { // // Hello World client // Connects REQ socket to tcp://localhost:5559 // Sends "Hello" to server, expects "World" back // // Author: metadings // // Socket to talk to server using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { requester.Connect("tcp://127.0.0.1:5559"); for (int n = 0; n < 10; ++n) { using (var request = new ZFrame("Hello")) { requester.Send(request); } using (ZFrame reply = requester.ReceiveFrame()) { Console.WriteLine("Hello {0}!", reply.ReadString()); } } } }
static void Main(string[] args) { if (args == null || args.Length < 1) { Console.WriteLine(); Console.WriteLine(" This is a server for our chat (Vi_Mrch)"); Console.WriteLine(); args = new string[] { "" }; } string name = args[0]; // Create using (var context = new ZContext()) using (var responder = new ZSocket(context, ZSocketType.REP)) { // Bind responder.Bind("tcp://*:5555"); while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("Received {0}", request.ReadString()); // Do some work Thread.Sleep(1); // Send responder.Send(new ZFrame(name)); } } } }
public void ConnectToGW(string args)// { // args = "tcp://127.0.0.1:5555" ; string endpoint = args; // Create using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { // Connect requester.Connect(endpoint); //for (int n = 0; n < 1; n++) //{ string requestText = Who.ToString() + "|" + Id; Console.WriteLine("Отправил, что я: {0} и мой Id: {1}", Who, Id); // Send requester.Send(new ZFrame(requestText)); // Receive using (ZFrame reply = requester.ReceiveFrame()) { roomBox.Text = reply.ReadString(); _port2 = roomBox.Text; _port1 = (Int32.Parse(_port1) + 1).ToString(); Console.WriteLine(" Получил: {0} {1}", requestText, roomBox.Text); } //roomBox.Text = reply.ReadString(); //_port1 = requestText; //} requester.Close(); context.Dispose(); } }
static void Main(string[] args) { string name = "World"; // Create // using (var context = new ZContext()) using (var responder = new ZSocket(ZSocketType.REP)) { // Bind responder.Bind("tcp://*:5555"); while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("Received {0}", request.ReadString()); // Do some work Thread.Sleep(1); // Send responder.Send(new ZFrame(name)); } } } }
public static void Move(string Direction) { string ServerAdress = "tcp://127.0.0.1:5" + Port + "6"; using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { requester.Connect(ServerAdress); requester.Send(new ZFrame(PlayerName + ";" + Direction)); using (ZFrame reply = requester.ReceiveFrame()) { if (reply.ReadString() == "Accepted") { Console.WriteLine("Accepted"); } else { Console.WriteLine("error"); MessageBox.Show("Error (maybe name is already taken)", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public static void GetServerPort() { string ServerAdress = "tcp://127.0.0.1:5000"; using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { requester.Connect(ServerAdress); requester.Send(new ZFrame("New")); using (ZFrame reply = requester.ReceiveFrame()) { String Answer = reply.ReadString(); if (Answer != "Error") { Console.WriteLine("Accept"); Port = Answer; MessageBox.Show("Connecting to " + Port + "...", "Connecting...", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Console.WriteLine("error"); MessageBox.Show("Error (Get New Port)", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public static void Auth(string Name) { GetServerPort(); string ServerAdress = "tcp://127.0.0.1:5" + Port + "5"; using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { requester.Connect(ServerAdress); requester.Send(new ZFrame(Name)); using (ZFrame reply = requester.ReceiveFrame()) { if (reply.ReadString() == "Accepted") { Console.WriteLine("Accept"); PlayerName = Name; inpWindow.Close(); } else { Console.WriteLine("error"); MessageBox.Show("Error (maybe name is already taken)", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
static void Main(string[] args) { // //Hello World Client // //Author: metadings // //Create //using(var context = new ZContext()) using (var requester = new ZSocket(ZSocketType.REQ)) { //Connect requester.Connect("tcp://127.0.0.1:5555"); for (int n = 0; n < 10; n++) { //Message string requestText = "Hello my friend"; Console.WriteLine("Sending {0}...", requestText); //Send requester.Send(new ZFrame(requestText)); //Receive using (ZFrame reply = requester.ReceiveFrame()) { Console.WriteLine("Received {0} {1}!", requestText, reply.ReadString()); Console.ReadKey(); } } } }
public static void IronhouseServer(string[] args) { // // Hello World server with ironhouse security // // Author: hawkans // if (args == null || args.Length < 1) { Console.WriteLine(); Console.WriteLine("Usage: ./{0} Ironhouse HWServer [Name]", AppDomain.CurrentDomain.FriendlyName); Console.WriteLine(); Console.WriteLine(" Name Your name. Default: World"); Console.WriteLine(); args = new string[] { "World" }; } string name = args[0]; // Create or load certificates ZCert clientCert = GetOrCreateCert("clienttest"); ZCert serverCert = GetOrCreateCert("servertest"); using (var responder = new ZSocket(ZSocketType.REP)) using (var actor = new ZActor(ZAuth.Action0, null)) { actor.Start(); // send CURVE settings to ZAuth actor.Frontend.Send(new ZFrame("VERBOSE")); actor.Frontend.Send(new ZMessage(new List <ZFrame>() { new ZFrame("ALLOW"), new ZFrame("127.0.0.1") })); actor.Frontend.Send(new ZMessage(new List <ZFrame>() { new ZFrame("CURVE"), new ZFrame(".curve") })); responder.CurvePublicKey = serverCert.PublicKey; responder.CurveSecretKey = serverCert.SecretKey; responder.CurveServer = true; // Bind responder.Bind("tcp://*:5555"); while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("Received {0}", request.ReadString()); // Do some work Thread.Sleep(1); // Send responder.Send(new ZFrame(name)); } } } }
static void MTServer_Worker(ZContext ctx) { // Socket to talk to dispatcher using (var server = new ZSocket(ctx, ZSocketType.REP)) { server.Connect("inproc://workers"); while (true) { using (ZFrame frame = server.ReceiveFrame()) { Console.Write("Received: {0}", frame.ReadString()); // Do some 'work' Thread.Sleep(1000); // Send reply back to client string replyText = "World"; Console.WriteLine(", Sending: {0}", replyText); Console.WriteLine($"threadId:{Thread.CurrentThread.ManagedThreadId},time:{DateTime.Now.ToString()}"); server.Send(new ZFrame(replyText)); } } } }
public void ReceiveJson() { while (Thread.CurrentThread.IsAlive) { String request = null; if (this.binded) { try { ZFrame frame = this.socket.ReceiveFrame(); request = frame.ReadString(); String reply = this.UpdateParams(request); ZFrame message = new ZFrame(reply); this.socket.Send(message); } catch (ZException e) { request = "Cannot receive message: " + e.Message; } } else { request = "Cannot receive message: Not connected"; } } }
private static void Handle(Header header, ZFrame bodyFrame) { //TODO - really we'd have a message handler factory: if (header.BodyType == typeof(SendFulfilmentCommand).Name) { var command = JsonConvert.DeserializeObject <SendFulfilmentCommand>(bodyFrame.ReadString()); var client = FulfilmentClientFactory.GetApiClient(command.FulfilmentType); try { client.Send(command.Address); Console.WriteLine("*** Sent fulfilment, type: {0}, to address: {1}", command.FulfilmentType, command.Address); } catch (Exception ex) { Console.WriteLine("*** Fulfilment failed, resending message"); var queueAddress = Config.Get("Queues.Fulfilment.Address"); header.HandledCount++; header.LastExceptionMessage = ex.Message; var messageFrames = new List <ZFrame>(); messageFrames.Add(new ZFrame(JsonConvert.SerializeObject(header))); messageFrames.Add(bodyFrame); using (var context = new ZContext()) using (var sender = new ZSocket(context, ZSocketType.PUSH)) { sender.Connect(queueAddress); sender.Send(new ZMessage(messageFrames)); } } } }
/// <summary> /// 响应 服务器端 /// </summary> /// <param name="port"></param> /// <param name="messageHandler">不能为null,否则抛出异常,MessageHandler不能抛出异常</param> public static void ReqServer(int port, Func <String, String> messageHandler) { //ZContext实例 using (ZContext context = new ZContext()) { //ZSocket实例 响应 using (ZSocket responder = new ZSocket(context, ZSocketType.REP)) { ZError zError = null; bool result = responder.Bind($"tcp://*:{port}", out zError); while (isRunning) { //接收消息 using (ZFrame request = responder.ReceiveFrame()) { //Response socket always reply to the last client that sends a message. String msg = request.ReadString(Encoding.UTF8); String resp = messageHandler(msg); responder.Send(new ZFrame(resp, Encoding.UTF8)); } } } } }
private void InitialiseScoreFollower(string filename) { // Create the python process to run the python code and start it string filenamePythonScript = "C:/Users/Alexis/Source/TestPython2/AutomaticAudioTranscript/start_score_following.py"; ProcessStartInfo info = new ProcessStartInfo(); info.RedirectStandardError = true; info.UseShellExecute = false; info.FileName = "python3.exe"; // We make sure the paths can handle spaces info.Arguments = "\"" + filenamePythonScript + "\"" + " " + "\"" + filename + "\""; python = new Process(); python.StartInfo = info; python.EnableRaisingEvents = true; python.Exited += new EventHandler(pythonProcess_Exited); python.Start(); // Handle Exited event and display process information. void pythonProcess_Exited(object sender, System.EventArgs e) { // Need to stop the score following timer, otherwise the window freezes when the python process is exited //player.timerScoreFollowing.Stop(); MessageBox.Show(python.StandardError.ReadToEnd(), "Error in the python process", MessageBoxButtons.OK, MessageBoxIcon.Error); }; // Block until we have received a request from the back-end // (it takes a few secs to initialise and we don't want to do // anything in the meantime). using (ZFrame request = responder_init.ReceiveFrame()) { request.ReadString(); } // REMOVE watch = Stopwatch.StartNew(); }
static void Main(string[] args) { Console.WriteLine("BPMN worker server"); // Create using (var context = new ZContext()) using (var responder = new ZSocket(context, ZSocketType.REP)) { // Bind responder.Bind("tcp://*:5555"); while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { var flow = request.ReadString(); if (flow.StartsWith("<?xml")) //Just for demo purposes { var p = new Process(new MemoryStream(Encoding.UTF8.GetBytes(flow))); var processInstance = p.NewProcessInstance(); processInstance.SetDefaultHandlers(); processInstance.SetHandler("task", new ZMQTaskHandler()); //processInstance.SetHandler("endEvent", new ZMQEndHandler(responder)); processInstance.Start(new Dictionary <string, object>()); } responder.Send(new ZFrame("Work Done")); } } } }
/// <summary> /// Sends a requestion and waits for the response /// </summary> /// <param name="req">The request to be sent to MegaMol</param> /// <param name="timeout">The timeout when the function will throw an exception</param> /// <returns>The response answer by MegaMol</returns> public Response Send(Request req, TimeSpan timeout) { if (req == null) { throw new ArgumentNullException("req"); } socket.ReceiveTimeout = timeout; socket.SendTimeout = timeout; ZFrame reqData = req.MakeZMQRequest(); if (reqData == null) { throw new ArgumentException("req seemed illegal"); } socket.Send(reqData); Response resp = null; using (ZFrame reply = socket.ReceiveFrame()) { Response r = new Response(); r.Request = req; // set request first, because that object is required to parse the answer r.fromZFrameString(reply.ReadString(Encoding.UTF8)); resp = r; } return(resp); }
public void Execute(ProcessNode currentNode, ProcessNode previousNode) { string endpoint = "tcp://127.0.0.1:5556"; // Create using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { // Connect requester.Connect(endpoint); string requestText = "Do some work"; Console.WriteLine("Request {0}", requestText); // Send requester.Send(new ZFrame(requestText)); // Receive using (ZFrame reply = requester.ReceiveFrame()) { Console.WriteLine("Received: {0} ", reply.ReadString()); } currentNode.Done(); } }
static void RegisterNewServer() { Console.WriteLine("Auth"); ThreadPool.QueueUserWorkItem(state => { using (var context = new ZContext()) using (var responder = new ZSocket(context, ZSocketType.REP)) { responder.Bind("tcp://*:6000"); while (!Stop) { Console.WriteLine("Waiting"); using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("New Server!"); string buf = request.ReadString(); if (buf == "New" && portcount < 100) { responder.Send(new ZFrame(portcount.ToString())); serverPop[portcount] = 0; portcount++; } } } } }); }
static void Main(string[] args) { Console.WriteLine("10 seconds worker server"); // Create using (var context = new ZContext()) using (var responder = new ZSocket(context, ZSocketType.REP)) { // Bind responder.Bind("tcp://*:5556"); while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("Received {0}", request.ReadString()); // Do some work Thread.Sleep(10000); // Send Console.WriteLine("Sending Work Done"); responder.Send(new ZFrame("Work Done")); } } } }
static void GetPort() { string ServerAdress = "tcp://127.0.0.1:6000"; using (var context = new ZContext()) using (var requester = new ZSocket(context, ZSocketType.REQ)) { requester.Connect(ServerAdress); requester.Send(new ZFrame("New")); using (ZFrame reply = requester.ReceiveFrame()) { String answer = reply.ReadString(); if (answer != "Error") { Console.WriteLine("Accept, new port = " + answer); port = answer; MessageBox.Show("Port for this server - " + port, "New port!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { Console.WriteLine("error"); MessageBox.Show("Error (auth)", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public static void Console_WriteZFrame(string format, ZFrame frame, params object[] data) { var renderer = new StringBuilder(); var list = new List <object>(data); // here the renderer renderer.Append(format); renderer.Append(": "); renderer.Append("{"); renderer.Append(0 + data.Length); renderer.Append("}"); // now the message frame.Position = 0; if (frame.Length == 0) { list.Add("0"); } else { list.Add(frame.ReadString()); } frame.Position = 0; Console.WriteLine(renderer.ToString(), list.ToArray()); }
static void RTReq_Worker(int i) { using (var context = new ZContext()) using (var worker = new ZSocket(context, ZSocketType.REQ)) { worker.IdentityString = "PEER" + i; // Set a printable identity worker.Connect("tcp://127.0.0.1:5671"); int total = 0; while (true) { // Tell the broker we're ready for work worker.Send(new ZFrame("Hi Boss")); // Get workload from broker, until finished using (ZFrame frame = worker.ReceiveFrame()) { bool finished = (frame.ReadString() == "Fired!"); if (finished) { break; } } total++; // Do some random work Thread.Sleep(1); } Console.WriteLine("Completed: PEER{0}, {1} tasks", i, total); } }
public static void HWClient(IDictionary <string, string> dict, string[] args) { // // Hello World client // // Authors: Pieter Hintjens, Uli Riehm // // Create using (var context = ZContext.Create()) using (var requester = ZSocket.Create(context, ZSocketType.REQ)) { // Connect requester.Connect("tcp://127.0.0.1:5555"); for (int n = 0; n < 10; ++n) { string requestText = "Hello"; Console.Write("Sending {0}...", requestText); // Send using (var request = new ZFrame(requestText)) { requester.Send(request); } // Receive using (ZFrame reply = requester.ReceiveFrame()) { Console.WriteLine(" Received: {0} {1}!", requestText, reply.ReadString()); } } } }
public void Execute() { using (var responder = new ZSocket(ZSocketType.REP)) { // Bind responder.Bind("tcp://*:5555"); while (true) { // Receive using (ZFrame request = responder.ReceiveFrame()) { Console.WriteLine("Received {0}", request.ReadString()); // Do some work Thread.Sleep(1); string sendText = Console.ReadLine(); Console.WriteLine($"sending text :{sendText}"); // Send responder.Send(new ZFrame(sendText)); } } } }
static void StartSender(String endpoint, bool bind = false) { using (ZContext context = new ZContext()) using (ZSocket sender = new ZSocket(context, ZSocketType.REQ)) { if (bind) { sender.Bind(endpoint); Console.WriteLine("Sender Bound To " + endpoint); } else { sender.Connect(endpoint); Console.WriteLine("Sender Connected To " + endpoint); } Console.Write("<<< "); String msg = Console.ReadLine(); while (true) { sender.Send(new ZFrame(msg.Trim())); using (ZFrame reply = sender.ReceiveFrame()) { Console.WriteLine(">>> " + reply.ReadString()); } Console.Write("<<< "); msg = Console.ReadLine(); } } }