Example #1
0
        /// <summary>
        /// Handle messaging with the server.
        /// </summary>
        /// <param name="o"></param>
        static void ConnectionListener()
        {
            NetworkStream stream = client.GetStream();

            byte[] buffer = new byte[client.ReceiveBufferSize];

            try
            {
                while (!exit)
                {
                    int bytesRead = stream.Read(buffer, 0, client.ReceiveBufferSize);

                    if (bytesRead == 0)
                    {
                        break;
                    }

                    Message message = Message.FromBytes(buffer);
                    Libs.DisplayMessage(message);
                }
            }
            catch (IOException e)
            {
                Libs.StatusMessage(e.Message, StatusType.FAILURE);
            }

            stream.Close();
            Libs.StatusMessage("Connection lost with the server.");
        }
Example #2
0
 /// <summary>
 /// Relay a message sent by one client to the other clients.
 /// </summary>
 /// <param name="client"></param>
 /// <param name="message"></param>
 static void ReceiveMessage(int client, Message message)
 {
     Libs.DisplayMessage(message);
     foreach (int otherClient in clients.Keys)
     {
         if (otherClient != client)
         {
             Libs.SendMessage(clients[otherClient].GetStream(), message);
         }
     }
 }