public void Listener() { if ( server != null ) { while ( !stop ) { client = server.Accept(); Console.WriteLine("Client connected from: " + ( ( IPEndPoint ) client.RemoteEndPoint ).Address + ":" + ( ( IPEndPoint ) client.RemoteEndPoint ).Port); /* Message chat system only for one client implementation */ MessageCommunication ms = new MessageCommunication(client); ChatManager cm = new ChatManager(); Message message = null; TextMessage textMessage; // Message while ( client.Connected ) { message = ms.Recive(); if ( message != null ) { if ( message is TextMessage ) { textMessage = ( TextMessage ) message; TimeSpan MessageTime = new TimeSpan(textMessage.Date); // Latency, message created to message recived double latency = ( ( DateTime.Now.ToUniversalTime().Ticks - textMessage.Date ) / 10000 ); // if type of text message is ToAll if ( textMessage.Type == TextMessageType.ToAll ) { Console.WriteLine("MessageTime: " + MessageTime.Hours + ":" + MessageTime.Minutes + ":" + MessageTime.Seconds + " Latency: " + latency + "ms Message: " + textMessage.Text); } } } // Sending message to Server textMessage = cm.CreateTextMessage("Hello client"); Console.WriteLine("[Server] Server ---> Client | Sending message"); ms.Send(textMessage); } // End of message Console.WriteLine("Client: " + ( ( IPEndPoint ) client.RemoteEndPoint ).Address + ":" + ( ( IPEndPoint ) client.RemoteEndPoint ).Port + " disconnected"); /* ... */ } } }
public void Listener() { if ( client != null && client.Connected ) { ms = new MessageCommunication(client); ChatManager cm = new ChatManager(); Message message = null; TextMessage textMessage; // Message while ( client.Connected ) { // Sending message to Server textMessage = cm.CreateTextMessage("Hello server"); Console.WriteLine("[Client] Client ---> Server | Sending message"); ms.Send(textMessage); // Recive message from Server message = ms.Recive(); if ( message != null ) { Console.WriteLine("[Client] Server ---> Client | Recived message"); if ( message is TextMessage ) { textMessage = ( TextMessage ) message; TimeSpan MessageTime = new TimeSpan(textMessage.Date); // Latency, message created to message recived double latency = ( ( DateTime.Now.ToUniversalTime().Ticks - textMessage.Date ) / 10000 ); // if type of text message is ToAll if ( textMessage.Type == TextMessageType.ToAll ) { Console.WriteLine("MessageTime: " + MessageTime.Hours + ":" + MessageTime.Minutes + ":" + MessageTime.Seconds + " Latency: " + latency + "ms Message: " + textMessage.Text); } } } Thread.Sleep(1000); } // End of message } Console.Write("Lost connection to server, press any key to exit."); Console.Read(); }