public void OnDataReceived(IAsyncResult asyn) { try { int bytesRead = client.Client.EndReceive(asyn); if (bytesRead > 0) { // Ask the server to send the message to all the clients. server.DeliverMessage(message, bytesRead); // Listen for more messages. client.Client.BeginReceive(message, 0, message.Length, SocketFlags.None, new AsyncCallback(OnDataReceived), null); } } catch (Exception err) { Console.WriteLine(err.Message); } }