コード例 #1
0
        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}'");
            }
        }
コード例 #2
0
        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);
            }
        }