private void createWebSocket(string uri) { socket = new WebSocket(uri); if (Trace) { socket.Log.Level = LogLevel.Debug; } socket.OnClose += (sender, evt) => { // Release socket handle socket = null; Logger.TraceIf(Trace, String.Format("Socket Closed. Code={0}, Reason={1}", evt.Code, evt.Reason)); OnClose.Emit(this, new WebSocketCloseEventArgs(evt.Code, evt.Reason)); }; socket.OnMessage += (sender, evt) => { if (evt.IsPing) { Logger.TraceIf(Trace, "SocketReceive: WebSocket ping."); return; } if (evt.IsText) { Logger.TraceIf(Trace, "SocketReceive: Invalid content (text/plain)."); return; } OnMessage.Emit(this, new WebSocketMessageEventArgs(evt.RawData)); }; socket.OnError += (sender, evt) => { if (OnError != null) { OnError.Emit(sender, new WebSocketErrorEventArgs(evt.Exception)); } }; socket.OnOpen += (sender, evt) => { if (OnOpen != null) { OnOpen.Emit(sender, evt); } }; }
private void open() { try { startReceiving(); lock (_forEvent) { try { OnOpen.Emit(this, EventArgs.Empty); } catch (Exception ex) { processException(ex, "An exception has occurred while OnOpen."); } } } catch (Exception ex) { processException(ex, "An exception has occurred while opening."); } }
private void onOpen() { _readyState = WsState.OPEN; startMessageLoop(); OnOpen.Emit(this, EventArgs.Empty); }
private void onOpen() { _readyState = WsState.OPEN; startReceiving(); OnOpen.Emit(this, EventArgs.Empty); }