From 28b3793b23e6e65424903bef2ba144667bbe9818 Mon Sep 17 00:00:00 2001 From: KrazyIvan- Date: Wed, 21 Jan 2015 15:47:25 +0800 Subject: [PATCH] Update server.c Fix multi addr bind: example ./ss-server -s 0 -s :: 2015-01-21 07:28:09 ERROR: bind: Address already in use 2015-01-21 07:28:09 ERROR: Could not bind 2015-01-21 07:28:09 ERROR: bind() error --- src/server.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server.c b/src/server.c index f3542d49..1d39d30f 100644 --- a/src/server.c +++ b/src/server.c @@ -167,6 +167,9 @@ int create_and_bind(const char *host, const char *port) } int opt = 1; + + setsockopt(listen_sock, IPPROTO_IPV6, IPV6_V6ONLY, &opt, sizeof(opt)); + setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); #ifdef SO_NOSIGPIPE setsockopt(listen_sock, SOL_SOCKET, SO_NOSIGPIPE, &opt, sizeof(opt));