AngleSharp.Io.Dom.WebSocket.Close C# (CSharp) Method

Close() private method

private Close ( ) : void
return void
        public void Close()
        {
            if (_state != WebSocketReadyState.Closed && _state != WebSocketReadyState.Closing)
            {
                CloseAsync().Forget();
            }
        }

Usage Example

        public async Task ConnectToWebSocketEcho()
        {
            if (Helper.IsNetworkAvailable())
            {
                // ARRANGE
                var message = "foo";
                var haserror = false;
                var messages = new List<String>();
                var closed = new TaskCompletionSource<Boolean>();
                var document = await BrowsingContext.New().OpenNewAsync("https://www.websocket.org/echo.html");
                var ws = new WebSocket(document.DefaultView, "ws://echo.websocket.org");

                // ACT
                ws.Opened += (s, ev) => ws.Send(message);
                ws.Message += (s, ev) =>
                {
                    var msg = ev as MessageEvent;
                    messages.Add(msg.Data.ToString());
                    ws.Close();
                };
                ws.Closed += (s, ev) => closed.SetResult(true);
                ws.Error += (s, ev) => haserror = true;
                await closed.Task;
                
                // ASSERT
                haserror.Should().BeFalse();
                messages.Count.Should().Be(1);
                messages[0].Should().Be(message);
            }
        }