public WebSocketClient(bool noDelay, ILog logger) : base(logger) { _noDelay = noDelay; if (logger == null) { logger = LogManager.GetLogger(typeof(WebSocketClient)); } _logger = logger; _globalLogger = logger; // not such a big deal updating this because reference assignments are thread safe _conectionCloseWait = new ManualResetEvent(false); _frameBuilder = new WebSocketFrameBuilder(); _frameBuilder.OnClose += FrameBuilder_OnClose; _frameBuilder.OnError += FrameBuilder_OnError; _frameBuilder.OnPing += FrameBuilder_OnPing; _frameBuilder.OnPong += FrameBuilder_OnPong; _frameBuilder.OnTextFrame += FrameBuilder_OnTextFrame; }
public WebSocketHandlerService(Stream stream, TcpClient tcpClient, string header, bool noDelay, ILog logger) : base(logger) { _stream = stream; _header = header; _logger = logger; _tcpClient = tcpClient; // send requests immediately if true (needed for small low latency packets but not a long stream). // Basically, dont wait for the buffer to be full before before sending the packet tcpClient.NoDelay = noDelay; RemoteHost = ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address.ToString(); RemotePort = ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Port; LocalHost = ((IPEndPoint)tcpClient.Client.LocalEndPoint).Address.ToString(); LocalPort = ((IPEndPoint)tcpClient.Client.LocalEndPoint).Port; _frameBuilder = new WebSocketFrameBuilder(); _frameBuilder.OnClose += FrameBuilder_OnClose; _frameBuilder.OnError += FrameBuilder_OnError; _frameBuilder.OnPing += FrameBuilder_OnPing; _frameBuilder.OnPong += FrameBuilder_OnPong; _frameBuilder.OnTextFrame += FrameBuilder_OnTextFrame; }