public Client(IWebSocketBehavior pClient, IKeepAliveMonitor pKeepAliveMonitor) { ID = Guid.NewGuid().ToString(); //_objCancelationToken = _objCancelationSource.Token; _objClient = pClient; _objKeepAliveMonitor = pKeepAliveMonitor; _objKeepAliveMonitor.TimeOut += _objKeepAliveMonitor_TimeOut; _objKeepAliveMonitor.UnResponsive += _objKeepAliveMonitor_UnResponsive; _objClient.OnCloseReceived += _objClient_OnCloseReceived; _objClient.OnErrorReceived += _objClient_OnErrorReceived; _objClient.OnMessageReceived += _objClient_OnMessageReceived; _objKeepAliveMonitor.Start(); Log.Info($"Client {ID} connected"); }
private void _objServer_ClientConnected(object sender, IWebSocketBehavior e) { _objClientConnected?.Invoke(new Client(e, new KeepAliveMonitor(_objParams.ConnectionTimeoutSeconds))); }