private void OnReceived(ReceivedEventArgs e) { int hashCode = this.GetHashCode(); EventHandler<ReceivedEventArgs> handler = Received; e.ClientKey = hashCode.ToString(CultureInfo.InvariantCulture); if (handler != null) handler(this, e); }
private void OnAppSocketReceived(object sender, ReceivedEventArgs e) { LastActiveTime = System.DateTime.Now; }
/// <summary> /// 异步接受数据 /// </summary> /// <param name="result"></param> private void AsyncReceive(IAsyncResult result) { try { if (!_clientSocket.Connected) { throw new SocketException(10054); } int readbyte = _clientSocket.EndReceive(result); if (readbyte == 0) //未收到数据 return; byte[] data = new byte[readbyte]; for (int i = 0; i < readbyte; i++) { data[i] = _receiveBuffer[i]; } ReceivedEventArgs receivedEventArgs = new ReceivedEventArgs(); receivedEventArgs.Data = data; OnReceived(receivedEventArgs); ReceiveData(); } catch (SocketException exception) { switch (exception.ErrorCode) { //客户端断开 case 10054: Dispose(); break; default: System.Console.WriteLine("Socket错误:{0}", exception); break; } } }