protected internal virtual void Callback(object obj) { Socket socket = obj as Socket; if (socket != null && socket.Connected) { Request = new WebServerRequest(socket); Response = new WebServerResponse(socket); switch (Request.Headers.Method) { case "GET": Get(); break; case "POST": Post(); break; } if (!socket.Connected) { throw new SocketException(); } byte[] bytes = ((MemoryStream)Response.GetResponseStream()).ToArray(); int send = socket.Send(bytes, bytes.Length, SocketFlags.None); socket.Close(); } }