Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- private static ClientWebSocket socket;
- static void Main(string[] args)
- {
- Task.WaitAll(run());
- }
- static async Task run()
- {
- Console.WriteLine("Running. Press Ctrl-C to exit.");
- await connect(new Uri("ws://echo.websocket.org"));
- while (true)
- {
- await take_input();
- }
- }
- static async Task connect(Uri uri)
- {
- Console.WriteLine("Connecting to: {0}", uri);
- socket = new ClientWebSocket();
- await socket.ConnectAsync(uri, CancellationToken.None);
- }
- static async Task take_input()
- {
- Console.Write("Input: ");
- await send(socket, Console.ReadLine());
- Console.WriteLine("Response: {0}", await receive(socket));
- }
- static async Task send(ClientWebSocket socket, string value)
- {
- await socket.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes(value)), WebSocketMessageType.Text, true, CancellationToken.None);
- }
- static async Task<string> receive(ClientWebSocket socket)
- {
- var buffer = new ArraySegment<byte>(new byte[1024]);
- var response = await socket.ReceiveAsync(buffer, CancellationToken.None);
- return Encoding.UTF8.GetString(buffer.Array.Take(response.Count).ToArray());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement