This commit is contained in:
Max Lv
2015-01-26 14:25:39 +08:00
parent 2cc1824fc1
commit f3f6ece4fc
2 changed files with 7 additions and 17 deletions
+2 -7
View File
@@ -197,7 +197,6 @@ int create_and_bind(const char *host, const char *port)
rp = ipv4v6bindall; /* Take first IPV6 address available */
break;
}
ipv4v6bindall = ipv4v6bindall->ai_next; /* Get next address info, if any */
}
}
@@ -208,16 +207,12 @@ int create_and_bind(const char *host, const char *port)
continue;
}
int opt = 1;
if (rp->ai_family == AF_INET6) {
int ipv6only = 0;
if (host) {
ipv6only = 1;
}
int ipv6only = host ? 1 : 0;
setsockopt(listen_sock, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6only, sizeof(ipv6only));
}
int opt = 1;
setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
#ifdef SO_NOSIGPIPE
setsockopt(listen_sock, SOL_SOCKET, SO_NOSIGPIPE, &opt, sizeof(opt));
+5 -10
View File
@@ -321,7 +321,7 @@ int create_server_socket(const char *host, const char *port)
hints.ai_socktype = SOCK_DGRAM; /* We want a UDP socket */
hints.ai_flags = AI_ALL | AI_V4MAPPED | AI_PASSIVE | AI_ADDRCONFIG; /* For wildcard IP address */
hints.ai_protocol = IPPROTO_UDP;
s = getaddrinfo(host, port, &hints, &result);
if (s != 0) {
LOGE("[udp] getaddrinfo: %s", gai_strerror(s));
@@ -345,27 +345,22 @@ int create_server_socket(const char *host, const char *port)
rp = ipv4v6bindall; /* Take first IPV6 address available */
break;
}
ipv4v6bindall = ipv4v6bindall->ai_next; /* Get next address info, if any */
}
}
for (/*rp = result*/; rp != NULL; rp = rp->ai_next) {
server_sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (server_sock == -1) {
continue;
}
int opt = 1;
if (rp->ai_family == AF_INET6) {
int ipv6only = 0;
if (host) {
ipv6only = 1;
}
int ipv6only = host ? 1 : 0;
setsockopt(server_sock, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6only, sizeof(ipv6only));
}
int opt = 1;
setsockopt(server_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
#ifdef SO_NOSIGPIPE
set_nosigpipe(server_sock);