/// <summary> /// Клиент установил соединение с сервером /// </summary> /// <param name="sender">Источник события</param> /// <param name="e">Параметры события</param> void OnConnect(object sender, ServerEventArgs e) { TcpDevClient client = new TcpDevClient(); client.Socket = e.Socket; client.Socket.SendTimeout = 1000; client.Share = shareClientMutex; client.OnPacket += new TcpDevClient.PacketEventHandler(client_OnPacket); bool blocked = false; try { if (mutex.WaitOne(100, false)) { blocked = true; clients.Add(client); } } finally { if (blocked) { mutex.ReleaseMutex(); } } }
/// <summary> /// проверить клиента на валидность /// </summary> /// <param name="obj">Проверяемый клиент</param> /// <returns>Истина - если клиент правильный, в противном случае ложь</returns> private bool Predicate(TcpDevClient obj) { try { if (obj != null) { if (obj.Socket != null) { return(!(obj.Socket.Connected)); } } } catch { } return(true); }
/// <summary> /// проверить клиента на валидность /// </summary> /// <param name="obj">Проверяемый клиент</param> /// <returns>Истина - если клиент правильный, в противном случае ложь</returns> private bool Predicate(TcpDevClient obj) { try { if (obj != null) { if (obj.Socket != null) { return !(obj.Socket.Connected); } } } catch { } return true; }
/// <summary> /// Клиент установил соединение с сервером /// </summary> /// <param name="sender">Источник события</param> /// <param name="e">Параметры события</param> void OnConnect(object sender, ServerEventArgs e) { TcpDevClient client = new TcpDevClient(); client.Socket = e.Socket; client.Socket.SendTimeout = 1000; client.Share = shareClientMutex; client.OnPacket += new TcpDevClient.PacketEventHandler(client_OnPacket); bool blocked = false; try { if (mutex.WaitOne(100, false)) { blocked = true; clients.Add(client); } } finally { if (blocked) mutex.ReleaseMutex(); } }