/// <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);
/// <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)); }