diff --git a/src/HttpServerCommand.cc b/src/HttpServerCommand.cc index 195b040b..e87b6e9e 100644 --- a/src/HttpServerCommand.cc +++ b/src/HttpServerCommand.cc @@ -220,7 +220,6 @@ bool HttpServerCommand::execute() httpServer_->feedUpgradeResponse("websocket", fmt("Sec-WebSocket-Accept: %s\r\n", serverKey.c_str())); - httpServer_->getSocket()->setTcpNodelay(true); command = new rpc::WebSocketResponseCommand(getCuid(), httpServer_, e_, socket_); } else { diff --git a/src/SocketCore.cc b/src/SocketCore.cc index 9edd2c41..9bac58d4 100644 --- a/src/SocketCore.cc +++ b/src/SocketCore.cc @@ -369,6 +369,7 @@ SharedHandle SocketCore::acceptConnection() const } SharedHandle sock(new SocketCore(fd, sockType_)); sock->setNonBlockingMode(); + sock->setTcpNodelay(true); return sock; } @@ -461,6 +462,7 @@ void SocketCore::establishConnection(const std::string& host, uint16_t port) sockfd_ = fd; // make socket non-blocking mode setNonBlockingMode(); + setTcpNodelay(true); if(connect(fd, rp->ai_addr, rp->ai_addrlen) == -1 && SOCKET_ERRNO != A2_EINPROGRESS) { errNum = SOCKET_ERRNO;