// Función asíncrona que acepta el cliente. protected void acceptClient(IAsyncResult ar) { int threadId = Thread.CurrentThread.ManagedThreadId; TcpListener listener = (TcpListener)ar.AsyncState; TcpClient mClient = listener.EndAcceptTcpClient(ar); Debug.Log("Cliente aceptado"); Debug.Log("Comenzando a escuchar del cliente"); mHandler = new clientHandler(mClient, this.client_delegate); Thread clientThread = new Thread(new ThreadStart(mHandler.Run)); mClientThread = clientThread; Debug.Log("Thread cliente iniciada"); mClientThread.Start(); }
static void Main(string[] args) { //Fix part fixApp fx = new fixApp(); fx.initFix(); string OMServer = ConfigurationManager.AppSettings.Get("OMServer"); string OMServerPort = ConfigurationManager.AppSettings.Get("OMServerPort"); IPAddress ipaddr = IPAddress.Parse(OMServer); TcpListener serverSocket = new TcpListener(ipaddr, Convert.ToInt32(OMServerPort)); TcpClient clientSocket = default(TcpClient); Console.WriteLine("Wecome to Order Manager for ZmqHub Project\nWe are listening on[" + OMServer + ":" + OMServerPort + "]..."); try { int counter = 0; serverSocket.Start(); Console.WriteLine(" >> " + "Server Started\n We expect the OrderStrctre as payload.\n"); counter = 0; while (true) { counter += 1; clientSocket = serverSocket.AcceptTcpClient(); Console.WriteLine(" >> " + "Client No:" + Convert.ToString(counter) + " started!"); clientHandler client = new clientHandler(); client.startClient(clientSocket, Convert.ToString(counter)); } } finally { NetMQConfig.Cleanup(); clientSocket.Close(); serverSocket.Stop(); Console.WriteLine(" >> " + "exit"); Console.ReadLine(); } }
public void clientSocketDidReadMessage(clientHandler client, string message) { Debug.Log("cliente ha leido el mensaje " + message); if (message == "reset") { Debug.Log("resetenando posición."); if (realDeg > 180) { diff = -(180 - realDeg); } else { diff = (realDeg - 180); } } else { Debug.Log("calculando diferencia"); degreesToMove = float.Parse(message); calculateDifference(); } }