diff --git a/trunk/src/app/srs_app_listener.cpp b/trunk/src/app/srs_app_listener.cpp index 260edfbb4..4852b2ea9 100755 --- a/trunk/src/app/srs_app_listener.cpp +++ b/trunk/src/app/srs_app_listener.cpp @@ -124,7 +124,7 @@ srs_error_t SrsUdpListener::listen() addrinfo* r = NULL; SrsAutoFree(addrinfo, r); - if(getaddrinfo(ip.c_str(), sport, (const addrinfo*)&hints, &r) != 0) { + if(getaddrinfo(ip.c_str(), sport, (const addrinfo*)&hints, &r)) { return srs_error_new(ERROR_SYSTEM_IP_INVALID, "get address info"); } @@ -220,7 +220,7 @@ srs_error_t SrsTcpListener::listen() addrinfo* r = NULL; SrsAutoFree(addrinfo, r); - if(getaddrinfo(ip.c_str(), sport, (const addrinfo*)&hints, &r) != 0) { + if(getaddrinfo(ip.c_str(), sport, (const addrinfo*)&hints, &r)) { return srs_error_new(ERROR_SYSTEM_IP_INVALID, "get address info"); } diff --git a/trunk/src/app/srs_app_mpegts_udp.cpp b/trunk/src/app/srs_app_mpegts_udp.cpp index 4c131b75b..cf37c82dd 100644 --- a/trunk/src/app/srs_app_mpegts_udp.cpp +++ b/trunk/src/app/srs_app_mpegts_udp.cpp @@ -163,7 +163,7 @@ srs_error_t SrsMpegtsOverUdp::on_udp_packet(const sockaddr* from, const int from if(getnameinfo(from, fromlen, (char*)&address_string, sizeof(address_string), (char*)&port_string, sizeof(port_string), - NI_NUMERICHOST|NI_NUMERICSERV) != 0) { + NI_NUMERICHOST|NI_NUMERICSERV)) { return srs_error_new(ERROR_SYSTEM_IP_INVALID, "bad address"); } std::string peer_ip = std::string(address_string); diff --git a/trunk/src/app/srs_app_utility.cpp b/trunk/src/app/srs_app_utility.cpp index c36e974d0..94db336a7 100644 --- a/trunk/src/app/srs_app_utility.cpp +++ b/trunk/src/app/srs_app_utility.cpp @@ -1117,7 +1117,7 @@ string srs_get_local_ip(int fd) char* h = (char*)saddr; socklen_t nbh = (socklen_t)sizeof(saddr); const int r0 = getnameinfo((const sockaddr*)&addr, addrlen, h, nbh,NULL, 0, NI_NUMERICHOST); - if(r0 != 0) { + if(r0) { return ""; } @@ -1159,7 +1159,7 @@ string srs_get_peer_ip(int fd) char* h = (char*)saddr; socklen_t nbh = (socklen_t)sizeof(saddr); const int r0 = getnameinfo((const sockaddr*)&addr, addrlen, h, nbh, NULL, 0, NI_NUMERICHOST); - if(r0 != 0) { + if(r0) { return ""; } diff --git a/trunk/src/kernel/srs_kernel_utility.cpp b/trunk/src/kernel/srs_kernel_utility.cpp index 94f6375d3..1e4142ee5 100644 --- a/trunk/src/kernel/srs_kernel_utility.cpp +++ b/trunk/src/kernel/srs_kernel_utility.cpp @@ -164,7 +164,7 @@ string srs_dns_resolve(string host, int& family) addrinfo* r = NULL; SrsAutoFree(addrinfo, r); - if(getaddrinfo(host.c_str(), NULL, NULL, &r) != 0) { + if(getaddrinfo(host.c_str(), NULL, NULL, &r)) { return ""; } @@ -173,7 +173,7 @@ string srs_dns_resolve(string host, int& family) socklen_t nbh = sizeof(saddr); const int r0 = getnameinfo(r->ai_addr, r->ai_addrlen, h, nbh, NULL, 0, NI_NUMERICHOST); - if(r0) { + if(!r0) { family = r->ai_family; return string(saddr); } diff --git a/trunk/src/libs/srs_lib_simple_socket.cpp b/trunk/src/libs/srs_lib_simple_socket.cpp index b9e5c3e56..65c3e3a76 100644 --- a/trunk/src/libs/srs_lib_simple_socket.cpp +++ b/trunk/src/libs/srs_lib_simple_socket.cpp @@ -23,6 +23,8 @@ #include +#include + #include // for srs-librtmp, @see https://github.com/ossrs/srs/issues/213 @@ -119,6 +121,10 @@ int srs_hijack_io_create_socket(srs_hijack_io_t ctx, srs_rtmp_t owner) if (!SOCKET_VALID(skt->fd)) { return ERROR_SOCKET_CREATE; } + + // No TCP cache. + int v = 1; + setsockopt(skt->fd, IPPROTO_TCP, TCP_NODELAY, &v, sizeof(v)); return ERROR_SUCCESS; } @@ -133,14 +139,15 @@ int srs_hijack_io_connect(srs_hijack_io_t ctx, const char* server_ip, int port) memset(&hints, 0, sizeof(hints)); hints.ai_family = skt->family; hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_NUMERICHOST; addrinfo* r = NULL; SrsAutoFree(addrinfo, r); - if(getaddrinfo(server_ip, sport, (const addrinfo*)&hints, &r) == 0) { - if(::connect(skt->fd, r->ai_addr, r->ai_addrlen) < 0){ - return ERROR_SOCKET_CONNECT; - } + if(getaddrinfo(server_ip, sport, (const addrinfo*)&hints, &r)) { + return ERROR_SOCKET_CONNECT; + } + + if(::connect(skt->fd, r->ai_addr, r->ai_addrlen) < 0){ + return ERROR_SOCKET_CONNECT; } return ERROR_SUCCESS; diff --git a/trunk/src/service/srs_service_st.cpp b/trunk/src/service/srs_service_st.cpp index b0de11a01..9a5eea12e 100644 --- a/trunk/src/service/srs_service_st.cpp +++ b/trunk/src/service/srs_service_st.cpp @@ -124,7 +124,7 @@ srs_error_t srs_socket_connect(string server, int port, int64_t tm, srs_netfd_t* addrinfo* r = NULL; SrsAutoFree(addrinfo, r); - if(getaddrinfo(server.c_str(), sport, (const addrinfo*)&hints, &r) != 0) { + if(getaddrinfo(server.c_str(), sport, (const addrinfo*)&hints, &r)) { return srs_error_new(ERROR_SYSTEM_IP_INVALID, "get address info"); } diff --git a/trunk/src/service/srs_service_utility.cpp b/trunk/src/service/srs_service_utility.cpp index 63694483e..e4e62746e 100644 --- a/trunk/src/service/srs_service_utility.cpp +++ b/trunk/src/service/srs_service_utility.cpp @@ -107,7 +107,7 @@ void discover_network_iface(ifaddrs* cur, vector& ips, stringstream& ss0 char* h = (char*)saddr; socklen_t nbh = (socklen_t)sizeof(saddr); const int r0 = getnameinfo(cur->ifa_addr, sizeof(sockaddr_storage), h, nbh, NULL, 0, NI_NUMERICHOST); - if(r0 != 0) { + if(r0) { srs_warn("convert local ip failed: %s", gai_strerror(r0)); return; }