internal WebSocketServerSide(Stream socketStream, WebSocket client, HttpServer server) { _socketStream = socketStream; _currentFrameBuffer = new byte[256]; _currentFrameBufferCount = 0; _currentMessage = null; _client = client; _server = server; _ended = false; beginRead(); }
public connectionHandler(Socket socket, HttpServer server, bool secure) { Socket = socket; _requestId = Rnd.Next(); _requestStart = DateTime.UtcNow; _server = server; _secure = secure; _server.Log.Info(4, "{0:X8} Incoming connection from {1}".Fmt(_requestId, socket.RemoteEndPoint)); _buffer = new byte[1024]; _bufferDataOffset = 0; _bufferDataLength = 0; _headersSoFar = ""; lock (server._activeConnectionHandlers) server._activeConnectionHandlers.Add(this); var stream = new NetworkStream(socket, ownsSocket: true); if (_secure) { var secureStream = new SslStream(stream); _stream = secureStream; secureStream.BeginAuthenticateAsServer(new X509Certificate2(server.Options.CertificatePath, server.Options.CertificatePassword), false, SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, true, ar => { try { secureStream.EndAuthenticateAsServer(ar); } catch (Exception e) { Socket.Close(); cleanupIfDone(); if (_server.ResponseExceptionHandler != null) _server.ResponseExceptionHandler(null, e, null); return; } receiveMoreHeaderData(); }, null); } else { _stream = stream; receiveMoreHeaderData(); } }
/// <summary>Constructor.</summary> public Statistics(HttpServer server) { _server = server; }