public TCPListener(IPacketHead head, int port, int numConnections, int receiveBufferSize, int sendBufferSize, int allowedMaxPacketLen = -1) { _PackHead = head; _TokenPool = new TCPSocketTokenPool(numConnections, sendBufferSize, receiveBufferSize, this); _LocalEndPoint = new IPEndPoint(IPAddress.Any, port); if (allowedMaxPacketLen > 0) { AllowedMaxPacketLen = (uint)allowedMaxPacketLen; } }
public TCPClient(IPacketHead head, int bufferSize) { _PackHead = head; _TokenPool = new TCPSocketTokenPool(1, bufferSize, bufferSize, this); OnCloseToken += new EventHandler <TCPSocketToken>((object sender, TCPSocketToken token) => { lock (Tokens) { Tokens.Remove(token); } }); }