Beispiel #1
0
        public void Close()
        {
            _socket.Close(CloseStatusCode.Normal);

            _webStockHeadBeatTimer?.WaitToStop();
            _webStockHeadBeatTimer = null;
        }
Beispiel #2
0
        //public ResetbaleTimer WebStockHeadBeatTimer
        //{
        //    get => _webStockHeadBeatTimer;
        //    set
        //    {
        //        _webStockHeadBeatTimer = value;
        //        _webStockHeadBeatTimer.Elapsed += (sender, e) =>
        //        {
        //            if (IsConnected)
        //            {
        //                _socket.Ping();
        //                _logger.Info($"WebStocket Ping, at {DateTime.Now}");
        //            }
        //        };
        //    }
        //}

        public WebSocketChannel(WebSocket socket)
        {
            _socket = socket;

            _webStockHeadBeatTimer          = new ResetbaleTimer(_heartbeatInterval);
            _webStockHeadBeatTimer.Elapsed += (sender, e) =>
            {
                if (IsConnected)
                {
                    _socket.Ping();
                    _logger.Info($"WebStocket Ping, at {DateTime.Now}");
                }
            };

            _webStockHeadBeatTimer.Start();
        }