static void Main(string[] args) { Task.Run(async() => { var ws = new WebSocketConnection(null); ws.OnMessage += msgEvent => { switch (msgEvent.MessageType) { case MessageEventType.Text: Console.WriteLine(msgEvent.Message); break; case MessageEventType.Binary: Console.WriteLine(BitConverter.ToString(msgEvent.Message)); break; } }; await ws.Connect(); await ws.Write("Test"); await ws.Write(new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 }); await Task.Delay(2000); await ws.Disconnect(); }); Console.ReadLine(); }
public void Start() { dataStream = new DataStream(); var url = string.Format("ws://{0}/optitrack", Address); client = new WebSocketConnection(url, onMessage); client.Connect(); }
public static void StartListenNewBlocks(Action <dynamic> block_result) { webSocket = new WebSocketConnection(); webSocket.onOpen = () => { webSocket.SendMessage("{\"id\": 1, \"method\": \"eth_subscribe\", \"params\": [\"newHeads\"], \"jsonrpc\":\"2.0\"}"); }; webSocket.onMessage = (message) => { dynamic response = null; try{ response = JObject.Parse(message); }catch (Exception ex) { Logger.LogStatus(ConsoleColor.Red, "ERROR: " + ex); Environment.Exit(1); return; } if (response != null && response.@params != null && [email protected] != null) { Task.Run(() => { block_result([email protected]); }); } }; webSocket.onError = (error) => { Logger.LogStatus(ConsoleColor.Red, AppConfig.WebsocketNodeUrl + " " + error.Message); Environment.Exit(1); }; webSocket.onClose = () => { Logger.LogStatus(ConsoleColor.Red, "Connection with " + AppConfig.WebsocketNodeUrl + " has been closed"); Environment.Exit(1); }; webSocket.Connect(AppConfig.WebsocketNodeUrl); }