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(); }
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()); }