internal static void ThrowIfInvalidState(WebSocketState currentState, bool isDisposed, WebSocketState[] validStates) { string validStatesText = string.Empty; if (validStates != null && validStates.Length > 0) { foreach (WebSocketState validState in validStates) { if (currentState == validState) { // Ordering is important to maintain .NET 4.5 WebSocket implementation exception behavior. if (isDisposed) { throw new ObjectDisposedException(nameof(WebSocket)); } return; } } validStatesText = string.Join(", ", validStates); } throw new WebSocketException("net_WebSockets_InvalidState"); }
private void close(PayloadData payload, bool send, bool wait) { lock (_forConn) { if (_readyState == WebSocketState.CloseSent || _readyState == WebSocketState.Closed) { return; } _readyState = WebSocketState.CloseSent; } var e = new CloseEventArgs(payload); e.WasClean = closeHandshake( send ? WebSocketFrame.CreateCloseFrame(Mask.Unmask, payload).ToByteArray() : null, wait ? 1000 : 0); _readyState = WebSocketState.Closed; try { OnClose.Emit(this, e); } catch (Exception ex) { error("An exception has occurred while OnClose.", ex); } }
internal static string CheckIfClosable(this WebSocketState state) { return(state == WebSocketState.CloseSent ? "While closing the WebSocket connection." : state == WebSocketState.Closed ? "The WebSocket connection has already been closed." : null); }
// As server internal void Close(HttpResponse response) { _readyState = WebSocketState.CloseSent; sendHttpResponse(response); closeServerResources(); _readyState = WebSocketState.Closed; }
// As server internal async Task CloseAsync(HttpResponse response) { _readyState = WebSocketState.CloseSent; await SendHttpResponseAsync(response).ConfigureAwait(false); closeServerResources(); _readyState = WebSocketState.Closed; }
private void init() { _compression = CompressionMethod.None; _cookies = new CookieCollection(); _forConn = new object(); _messageEventQueue = new Queue <MessageEventArgs>(); _forMessageEventQueue = ((ICollection)_messageEventQueue).SyncRoot; _readyState = WebSocketState.Connecting; }
// As server public void ConnectAsServer() { try { _readyState = WebSocketState.Open; open(); } catch (Exception ex) { processException(ex, "An exception has occurred while connecting."); } }
// As server public async Task ConnectAsServer() { try { _readyState = WebSocketState.Open; await OpenAsync().ConfigureAwait(false); } catch (Exception ex) { await ProcessExceptionAsync(ex, "An exception has occurred while connecting.").ConfigureAwait(false); } }
private void OnStateChanged(System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { Console.WriteLine("Status from [{0}] to [{1}].", prevState, newState); }
private void Socket_OnStateChanged(System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { throw new NotImplementedException(); }
private static void Program_OnStateChanged(object sender, System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { PureWebSocket ws = sender as PureWebSocket; Console.WriteLine($@"{ws.InstanceName}: {prevState} -> {newState}"); }
protected static bool IsStateTerminal(System.Net.WebSockets.WebSocketState state) { return(default(bool)); }
private void Socket_OnStateChanged(System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { WriteLog($"Socket state changed from {prevState} to {newState}."); }
private async void _webSocket_OnStateChanged(object sender, System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { if (newState == System.Net.WebSockets.WebSocketState.Open) { } }
private void On_StateChanged(System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { Console.WriteLine("---STATECHANGED: {0} => {1}", prevState, newState); }
protected static void ThrowOnInvalidState(System.Net.WebSockets.WebSocketState state, params System.Net.WebSockets.WebSocketState[] validStates) { }
protected static bool IsStateTerminal(System.Net.WebSockets.WebSocketState state) { throw null; }
private static void _client_OnStateChanged(System.Net.WebSockets.WebSocketState newState, System.Net.WebSockets.WebSocketState prevState) { // the connection state has changed, is this bad? that is for you to decide if you want to OutputConsole.WriteLine($"Socket state changed from {prevState} to {newState}", ConsoleColor.Gray); }