/// <summary> /// Полученны данные от клиента /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void server_OnReceive(object sender, ServerReceiveEventArgs e) { bool blocked = false; try { if (mutex.WaitOne(100, false)) { blocked = true; foreach (TcpAsyClient client in clients) { if (client.Socket.Handle == e.Socket.Handle) { client.Insert(e.DataString); break; } } } } finally { if (blocked) { mutex.ReleaseMutex(); } } }
void Server_MessageReceived(object sender, ServerReceiveEventArgs e) { string data = Encoding.UTF8.GetString(e.Data, 0, e.Data.Length); string[] lines = data.Split('\n'); foreach (string line in lines) { if (!string.IsNullOrEmpty(line)) { AppendToHistory("RECEIVED FROM {0} ({1} bytes): {2}", e.Context.ClientKey, e.BytesReceived, line); } } }