static async void RunClientAsync(ChannelFactory channelFactory) { Console.WriteLine("Creating client..."); using (var client = await WebSocketConnection.ConnectAsync("ws://127.0.0.1:6080/", channelFactory: channelFactory)) { Console.WriteLine("Wrapping client as channel..."); var channel = new WebSocketChannel(client, channelFactory); string message = "Hello world!"; Console.WriteLine($"Sending '{message}' via a wrapped channel..."); string reply = await SendMessageAndWaitForReply(channel, message); Console.WriteLine($"Got back: '{reply}'"); } }
private static async Task ExecuteChannel(bool listen) { try { const string uri = "ws://127.0.0.1:5001"; WriteStatus($"connecting to {uri}..."); var socket = await WebSocketConnection.ConnectAsync(uri); WriteStatus("connected"); int clientNumber = Interlocked.Increment(ref Program.clientNumber); var named = new ClientWebSocketWithIdentity(socket, clientNumber); lock (clients) { clients.Add(named); } ClientChannelReceiveMessages(named); } catch (Exception ex) { WriteStatus(ex.GetType().Name); WriteStatus(ex.Message); } }