示例#1
0
        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;
            }
        }
示例#2
0
        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);
                }
            });
        }
示例#3
0
 public NetPacketHead(IPacketHead head)
 {
     _Packethead = head;
     _Buffer     = new byte[head.HeadLen];
 }