KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to create a C# Websocket server but I just don't seem to get it working. I now have a server that accepts the TCPClient, receives the HTTP request from the client and that tries to send back a HTTP response so the HTML5 WebSocket handshake can be completed. I believe there is something wrong with my handshake that the server sends to the client. I read the draft ( Websocket 76 draft ) which states that at the end of the handshake a response has to be given for the two keys that are given. This response gets calculated by the server. This is my code: static void Main(string[] args) { int port = 8181; IPAddress localAddr = IPAddress.Loopback; TcpListener server = new TcpListener(localAddr, port); server.Start(); // Buffer for reading data Byte[] receivedBytes = new Byte[256]; String data = null; // Enter the listening loop. while (true) { Console.WriteLine("Waiting for a connection..."); // Perform a blocking call to accept requests. // You could also user server.AcceptSocket() here. TcpClient client = server.AcceptTcpClient(); Console.WriteLine("Connected!\n"); data = null; // Get a stream object for reading and writing NetworkStream stream = client.GetStream(); int i; // Loop to receive all the data sent by the client. while ((i = stream.Read(receivedBytes, 0, receivedBytes.Length)) != 0) { // Translate data bytes to a ASCII string. data = System.Text.Encoding.UTF8.GetString(receivedBytes, 0, i); Console.WriteLine("Received:"); Console.WriteLine(data);
Tags (comma-separated)
Save Edits
Cancel