public void ConnectToServer(IPAddress ip, int port)
    {
        if (_webSocketConnection != null) return;
        
        _webSocketConnection = new WebSocket($"ws://{ip}:{port}");

        _webSocketConnection.OnOpen += (sender, args) =>
        {
            Connected?.Invoke();
        };
        
        _webSocketConnection.OnClose += (sender, args) =>
        {
            Disconnected?.Invoke();
        };
        
        _webSocketConnection.OnMessage += (sender, args) =>
        {
            if (args.IsText)
            {
                ReceivedTextMessage?.Invoke(args.Data);
            }
            else if (args.IsBinary)
            {
                ReceivedByteArrayMessage?.Invoke(args.RawData);
            }
        };

        _webSocketConnection.OnError += (sender, args) =>
        {
            ReceivedError?.Invoke();
        };
        
        _webSocketConnection.Connect();
    }
Ejemplo n.º 2
0
        Result HandleTextMessage(Request pendingRequest)
        {
            if (!(pendingRequest is MessageRequest textMessageRequest))
            {
                return(Result.Fail($"Request received is not valid for this operation ({pendingRequest.Type})."));
            }

            ReceivedTextMessage?.Invoke(this, textMessageRequest);
            return(Result.Ok());
        }