internal TcpListenerWebSocketContext( TcpClient tcpClient, string protocol, bool secure, #if !NETCF || BCC || SSL ServerSslConfiguration sslConfig, #endif Logger log) { _tcpClient = tcpClient; _secure = secure; _log = log; Stream netStream = tcpClient.GetStream(); #if BUFFERED netStream = new BufferedNetworkStream((NetworkStream)netStream); #endif #if !NETCF || BCC || SSL if (secure) { var sslStream = new SslStream(netStream, false, sslConfig.ClientCertificateValidationCallback); sslStream.AuthenticateAsServer( sslConfig.ServerCertificate, sslConfig.ClientCertificateRequired, sslConfig.EnabledSslProtocols, sslConfig.CheckCertificateRevocation); _stream = sslStream; } else #endif { _stream = netStream; } #if SSHARP var sock = tcpClient; #else var sock = tcpClient.Client; #endif _serverEndPoint = sock.LocalEndPoint; _userEndPoint = sock.RemoteEndPoint; _request = HttpRequest.Read(_stream, 90000); _websocket = new WebSocket(this, protocol); }
internal TcpListenerWebSocketContext( TcpClient tcpClient, string protocol, bool secure, #if !NETCF || BCC || SSL ServerSslConfiguration sslConfig, #endif Logger logger) { _tcpClient = tcpClient; _secure = secure; _logger = logger; Stream netStream = tcpClient.GetStream(); #if BUFFERED netStream = new BufferedNetworkStream((NetworkStream)netStream); #endif #if !NETCF || BCC || SSL if (secure) { var sslStream = new SslStream(netStream, false, sslConfig.ClientCertificateValidationCallback); sslStream.AuthenticateAsServer( sslConfig.ServerCertificate, sslConfig.ClientCertificateRequired, sslConfig.EnabledSslProtocols, sslConfig.CheckCertificateRevocation); _stream = sslStream; } else #endif { _stream = netStream; } _request = HttpRequest.Read(_stream, 90000); _uri = HttpUtility.CreateRequestUrl(_request.RequestUri, _request.Headers["Host"], _request.IsWebSocketRequest, secure); _websocket = new WebSocket(this, protocol); }