예제 #1
0
        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");
                    /* ... */
                }
            }
        }
예제 #2
0
        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();
        }