diff --git a/a8/tcpclient2.cc b/a8/tcpclient2.cc index e461d7b..1342e38 100644 --- a/a8/tcpclient2.cc +++ b/a8/tcpclient2.cc @@ -51,7 +51,7 @@ namespace a8 bool TcpClient2::IsActive() { - return socket_ != a8::INVALID_SOCKET; + return socket__ != a8::INVALID_SOCKET; } bool TcpClient2::Connected() @@ -100,6 +100,25 @@ namespace a8 } return false; } + //set nodelay + { + int flag = 1; + int ret = ::setsockopt(socket_, + IPPROTO_TCP, + TCP_NODELAY, + (char *)&flag, + sizeof(flag)); + assert(ret >= 0); + if (ret < 0) { + abort(); + } + } + //set nonblock + { + int flags = 0; + flags = ::fcntl(socket_, F_GETFL, 0); + ::fcntl(socket_, F_SETFL, flags|O_NONBLOCK); + } sockaddr_in sa; memset(&sa, 0, sizeof(sa)); sa.sin_family = AF_INET;