public void Start(string ip, UInt16 port, uint readBufferSize, uint timeout, X509Certificate2 certificate, HttpRequestProcessor httpRequestHandler, ResponseMaker internalServerError, LogManager logger) { if (ConnectionAcceptor == null) { ConnectionAcceptor = new TcpListener(IPAddress.Parse(ip), port); } if (Sessions == null) { Sessions = new ConcurrentDictionary <ulong, Session>(); } this.ReadBufferSize = readBufferSize; this.Timeout = timeout; this.HttpRequestHandler = httpRequestHandler; this.GetInternalServerError = internalServerError; this.Certificate = certificate; this.Logger = logger; ConnectionAcceptor.Start(); ConnectionAcceptor.BeginAcceptTcpClient(new AsyncCallback(OnAccept), this.ConnectionAcceptor); }