public void StartReceiveAsync() { try { bool willRaiseEvent = ConnectSocket.ReceiveAsync(ReceiveEventArgs); //投递接收请求 if (!willRaiseEvent) { PacketProtocol.ReceiveComplate(null, ReceiveEventArgs); } } catch (Exception e) { loger.Fatal(e); } }
private void AcceptCompleted(object sender, SocketAsyncEventArgs acceptEventArgs) { try { ProcessAccept(acceptEventArgs); } catch (Exception e) { loger.Fatal(e); } }
public void DisConnect() { if (OnDisConnect != null) { OnDisConnect(null, this); } //释放引用,并清理缓存,包括释放协议对象等资源 PacketProtocol.Clear(); if (ConnectSocket != null) { try { ConnectSocket.Shutdown(SocketShutdown.Both); } catch (Exception e) { loger.Fatal(e); } } ConnectSocket.Close(); ConnectSocket = null; }