public IEnumerator Connect() { websocket = new WebSocketSharp.WebSocket(uri.ToString()); if (!String.IsNullOrEmpty(accessToken)) { websocket.SetCredentials("token", accessToken, true); } websocket.OnMessage += (sender, e) => { if (capacity == 0 || events.Count < capacity) { lock (events) { events.Enqueue(e.RawData); } } else { numDroppedEvents++; } }; websocket.OnOpen += (sender, e) => { isConnected = true; }; websocket.OnClose += (sender, e) => { isConnected = false; if (!e.WasClean) { error = e.Reason; } }; websocket.OnError += (sender, e) => { isConnected = false; error = e.Message; }; websocket.ConnectAsync(); while (!isConnected && String.IsNullOrEmpty(error)) { yield return(0); } }
static void Main(string[] args) { var str = "hello \n my friend\r\n\t"; var enc = StompClient.StringHelper.Encode(str); Console.WriteLine(enc); Console.WriteLine(StompClient.StringHelper.Decode(enc)); var url = "ws://192.168.151.224:8080/sodch-websocket/websocket"; var ws = new WebSocketSharp.WebSocket(url); ws.SetCredentials("-1", "1", true); var wstrans = new StompTransportWebsocketSharp.WebSocketTransport(ws); var client = StompClient.Client.Over(wstrans); client.OnConnected += (_) => { client.Subscribe("/topic/pong"); client.Send("/app/ping", "Jibril!"); }; client.OnMessage += Client_OnMessage; client.Connect(); Console.ReadKey(false); }