public void ReceiveRepeat() { try { this.IsWaitTcpReceive = true; while (this.IsWaitTcpReceive && !this.disposed) { var state = new CtkTcpSocketStateEventArgs() { sender = this, workSocket = this.WorkSocket,//Actively socket 為連線的socket本身 buffer = new byte[1518] }; state.dataSize = state.workSocket.Receive(state.buffer, 0, state.buffer.Length, SocketFlags.None); if (state.dataSize == 0) { break; } this.OnReceiveData(state); } } finally { if (this.ConnSocket != this.WorkSocket) { CtkNetUtil.DisposeSocket(this.WorkSocket); } } }
public void Disconnect() { CtkNetUtil.DisposeSocket(this.m_connSocket); }
public void DisposeSelf() { this.IsWaitTcpReceive = false; CtkNetUtil.DisposeSocket(this.m_connSocket); CtkNetUtil.DisposeSocket(this.WorkSocket); }