diff options
| author | oy <Tom_Adams@web.de> | 2013-02-24 17:14:55 +0100 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2013-02-24 17:14:55 +0100 |
| commit | 85271f2e7e0c78167288676982366eaafbe4368b (patch) | |
| tree | 4205bfb36d922f6ae0761a75e60b376cf42d5937 /src/base | |
| parent | e291a60e7e5c52e8a6d0117fd2ef3b38521cb81c (diff) | |
| download | zcatch-85271f2e7e0c78167288676982366eaafbe4368b.tar.gz zcatch-85271f2e7e0c78167288676982366eaafbe4368b.zip | |
increased recv buffer size on windows
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/system.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/base/system.c b/src/base/system.c index ed0f41ec..7f98efe1 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -903,6 +903,7 @@ NETSOCKET net_udp_create(NETADDR bindaddr) NETSOCKET sock = invalid_socket; NETADDR tmpbindaddr = bindaddr; int broadcast = 1; + int recvsize = 65536; if(bindaddr.type&NETTYPE_IPV4) { @@ -917,13 +918,13 @@ NETSOCKET net_udp_create(NETADDR bindaddr) { sock.type |= NETTYPE_IPV4; sock.ipv4sock = socket; - } - /* set non-blocking */ - net_set_non_blocking(sock); + /* set boardcast */ + setsockopt(socket, SOL_SOCKET, SO_BROADCAST, (const char*)&broadcast, sizeof(broadcast)); - /* set boardcast */ - setsockopt(socket, SOL_SOCKET, SO_BROADCAST, (const char*)&broadcast, sizeof(broadcast)); + /* set receive buffer size */ + setsockopt(socket, SOL_SOCKET, SO_RCVBUF, (char*)&recvsize, sizeof(recvsize)); + } } if(bindaddr.type&NETTYPE_IPV6) @@ -939,15 +940,18 @@ NETSOCKET net_udp_create(NETADDR bindaddr) { sock.type |= NETTYPE_IPV6; sock.ipv6sock = socket; - } - /* set non-blocking */ - net_set_non_blocking(sock); + /* set boardcast */ + setsockopt(socket, SOL_SOCKET, SO_BROADCAST, (const char*)&broadcast, sizeof(broadcast)); - /* set boardcast */ - setsockopt(socket, SOL_SOCKET, SO_BROADCAST, (const char*)&broadcast, sizeof(broadcast)); + /* set receive buffer size */ + setsockopt(socket, SOL_SOCKET, SO_RCVBUF, (char*)&recvsize, sizeof(recvsize)); + } } + /* set non-blocking */ + net_set_non_blocking(sock); + /* return */ return sock; } |