/// <summary> /// Initializes a new instance /// </summary> /// <param name="socketSettings">Socket settings.</param> /// <param name="requestHandler"></param> public SocketListener(SocketSettings socketSettings, RequestHandler requestHandler) { this.socketSettings = socketSettings; this.requestHandler = requestHandler; this.bufferManager = new BufferManager(this.socketSettings.BufferSize * this.socketSettings.NumOfSaeaForRecSend, this.socketSettings.BufferSize); this.ioEventArgsPool = new ThreadSafeStack <SocketAsyncEventArgs>(socketSettings.NumOfSaeaForRecSend); this.acceptEventArgsPool = new ThreadSafeStack <SocketAsyncEventArgs>(socketSettings.MaxAcceptOps); this.maxConnectionsEnforcer = new Semaphore(this.socketSettings.MaxConnections, this.socketSettings.MaxConnections); Init(); }
/// <summary> /// Initializes a new instance of the <see cref="ZyGames.Framework.RPC.Sockets.SocketListener"/> class. /// </summary> /// <param name="socketSettings">Socket settings.</param> public SocketListener(SocketSettings socketSettings) { this.socketSettings = socketSettings; this.prefixHandler = new PrefixHandler(); this.messageHandler = new MessageHandler(); this.bufferManager = new BufferManager(this.socketSettings.BufferSize * this.socketSettings.NumOfSaeaForRecSend, this.socketSettings.BufferSize); this.ioEventArgsPool = new ThreadSafeStack <SocketAsyncEventArgs>(socketSettings.NumOfSaeaForRecSend); this.acceptEventArgsPool = new ThreadSafeStack <SocketAsyncEventArgs>(socketSettings.MaxAcceptOps); this.maxConnectionsEnforcer = new Semaphore(this.socketSettings.MaxConnections, this.socketSettings.MaxConnections); Init(); expireTimer = new Timer(CheckExpire, null, socketSettings.ExpireInterval, socketSettings.ExpireInterval); }