コード例 #1
0
        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);
            }
        }
コード例 #2
0
 protected virtual void OnOpen(object sender, EventArgs e)
 {
     WebsocketEvents.FireWebsocketEvent(sender, new ConnectionEventArgs
     {
         ConnectionEventType = ConnectionEventType.Connect,
     });
 }
コード例 #3
0
 protected virtual void OnClose(object sender, CloseEventArgs e)
 {
     WebsocketEvents.FireWebsocketEvent(sender, new ConnectionEventArgs
     {
         ConnectionEventType = ConnectionEventType.Disconnect,
     });
     _isRunning = false;
 }
コード例 #4
0
 protected virtual void OnError(object sender, ErrorEventArgs e)
 {
     WebsocketEvents.FireWebsocketEvent(sender, new ErrorEventargs()
     {
         Exception = e.Exception,
         Message   = e.Message,
     });
     Console.WriteLine(e.Message);
 }
コード例 #5
0
 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,
     });
 }
コード例 #6
0
        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,
                });
            }
        }