public virtual void StartAsync(string url) { try { if (!_isRunning) { _isRunning = true; _webSocketClient = new WebSocket(url); _webSocketClient.OnOpen += OnOpen; _webSocketClient.OnClose += OnClose; _webSocketClient.OnMessage += OnMessageEvent; _webSocketClient.OnError += OnError; WebsocketEvents.FireWebsocketEvent(_webSocketClient, new ConnectionEventArgs { ConnectionEventType = ConnectionEventType.Connecting, WebsocketArgsType = WebsocketArgsType.Connection, }); _webSocketClient.ConnectAsync(); } } catch (Exception e) { Console.WriteLine(e.Message); } }
protected virtual void OnOpen(object sender, EventArgs e) { WebsocketEvents.FireWebsocketEvent(sender, new ConnectionEventArgs { ConnectionEventType = ConnectionEventType.Connect, }); }
protected virtual void OnClose(object sender, CloseEventArgs e) { WebsocketEvents.FireWebsocketEvent(sender, new ConnectionEventArgs { ConnectionEventType = ConnectionEventType.Disconnect, }); _isRunning = false; }
protected virtual void OnError(object sender, ErrorEventArgs e) { WebsocketEvents.FireWebsocketEvent(sender, new ErrorEventargs() { Exception = e.Exception, Message = e.Message, }); Console.WriteLine(e.Message); }
protected virtual void OnMessageEvent(object sender, MessageEventArgs e) { WebsocketEvents.FireWebsocketEvent(sender, new MessageEventargs() { Data = e.Data, DataRaw = e.RawData, MessageEventType = MessageEventType.Receieved, WebsocketArgsType = WebsocketArgsType.Message, }); }
public virtual void StopAsync() { if (_webSocketClient != null) { _webSocketClient.OnOpen -= OnOpen; _webSocketClient.OnClose -= OnClose; _webSocketClient.OnMessage -= OnMessageEvent; _webSocketClient.OnError -= OnError; _webSocketClient.CloseAsync(); WebsocketEvents.FireWebsocketEvent(_webSocketClient, new ConnectionEventArgs { ConnectionEventType = ConnectionEventType.Disconnect, WebsocketArgsType = WebsocketArgsType.Connection, }); } }