Example #1
0
 /// <summary>
 /// 创建监听器
 /// </summary>
 /// <param name="port">监听端口</param>
 /// <param name="recvsize">接受缓冲区大小</param>
 /// <param name="socketType">套接字类型</param>
 /// <param name="protoType">协议类型</param>
 /// <param name="pos">在列表中的位置</param>
 /// <param name="sessionCreateHandler">创建session的委托</param>
 /// <returns></returns>
 public bool CreateListener(int port, int recvsize, SocketType socketType, ProtocolType protoType, int pos,
                            SessionCreateHandler sessionCreateHandler = null) =>
 this._netSessionMgr.CreateListener(port, recvsize, socketType, protoType, pos, sessionCreateHandler ?? this._netSessionMgr.CreateListenerSession);
Example #2
0
        /// <summary>
        /// 创建监听器
        /// </summary>
        /// <param name="port">监听端口</param>
        /// <param name="recvsize">接受缓冲区大小</param>
        /// <param name="socketType">套接字类型</param>
        /// <param name="protoType">协议类型</param>
        /// <param name="pos">在列表中的位置</param>
        /// <param name="sessionCreateHandler">创建session的委托</param>
        /// <returns></returns>
        public bool CreateListener(int port, int recvsize, SocketType socketType, ProtocolType protoType, int pos, SessionCreateHandler sessionCreateHandler)
        {
            if (pos >= Consts.MAX_COUNT_LISTENER)
            {
                return(false);
            }
            if (this._listeners[pos] != null)
            {
                return(false);
            }
            IListener listener = new Listener();

            listener.sessionCreateHandler = sessionCreateHandler;
            listener.packetEncodeHandler  = LengthEncoder.Encode;
            listener.packetDecodeHandler  = LengthEncoder.Decode;
            listener.recvBufSize          = recvsize;
            this._listeners[pos]          = listener;
            return(this._listeners[pos].Start(port, socketType, protoType));
        }