| Index: mojo/spy/websocket_server.cc
|
| diff --git a/mojo/spy/websocket_server.cc b/mojo/spy/websocket_server.cc
|
| index 649a135c13e81fb363db3b878ad8833343ce515c..e4cb925d134088833bcf34b3788f1968340c5230 100644
|
| --- a/mojo/spy/websocket_server.cc
|
| +++ b/mojo/spy/websocket_server.cc
|
| @@ -10,7 +10,7 @@
|
| #include "net/base/net_errors.h"
|
| #include "net/server/http_server_request_info.h"
|
| #include "net/server/http_server_response_info.h"
|
| -#include "net/socket/tcp_listen_socket.h"
|
| +#include "net/socket/tcp_server_socket.h"
|
|
|
| namespace spy {
|
|
|
| @@ -24,8 +24,10 @@ WebSocketServer::~WebSocketServer() {
|
| }
|
|
|
| bool WebSocketServer::Start() {
|
| - net::TCPListenSocketFactory factory("0.0.0.0", port_);
|
| - server_ = new net::HttpServer(factory, this);
|
| + scoped_ptr<net::ServerSocket> server_socket(
|
| + new net::TCPServerSocket(NULL, net::NetLog::Source()));
|
| + server_socket->ListenWithAddressAndPort("0.0.0.0", 0, 1);
|
| + server_.reset(new net::HttpServer(server_socket.Pass(), this));
|
| net::IPEndPoint address;
|
| int error = server_->GetLocalAddress(&address);
|
| port_ = address.port();
|
| @@ -42,10 +44,7 @@ void WebSocketServer::OnWebSocketRequest(
|
| int connection_id,
|
| const net::HttpServerRequestInfo& info) {
|
| if (connection_id_ != kNotConnected) {
|
| - // Reject connection since we already have our client.
|
| - base::MessageLoop::current()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&net::HttpServer::Close, server_, connection_id));
|
| + server_->Close(connection_id);
|
| return;
|
| }
|
| // Accept the connection.
|
|
|