diff --git a/core/Messenger.c b/core/Messenger.c index 043700e5..042d5325 100644 --- a/core/Messenger.c +++ b/core/Messenger.c @@ -402,9 +402,9 @@ int initMessenger() ip.i = 0; if(init_networking(ip,PORT) == -1) - return -1; - - return 0; + return -1; + + return 0; } static void doFriends() diff --git a/core/network.c b/core/network.c index bc6738ac..05dc9962 100644 --- a/core/network.c +++ b/core/network.c @@ -103,7 +103,7 @@ int receivepacket(IP_Port * ip_port, uint8_t * data, uint32_t * length) port is in host byte order (this means don't worry about it) returns 0 if no problems returns -1 if there are problems */ -int init_networking(IP ip ,uint16_t port) +int init_networking(IP ip, uint16_t port) { #ifdef WIN32 WSADATA wsaData; @@ -120,14 +120,14 @@ int init_networking(IP ip ,uint16_t port) /* initialize our socket */ sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - /* Check for socket error */ - #ifdef WIN32 - if (sock == INVALID_SOCKET) //MSDN recommends this - return -1; - #else - if (sock < 0) - return -1; - #endif + /* Check for socket error */ + #ifdef WIN32 + if (sock == INVALID_SOCKET) //MSDN recommends this + return -1; + #else + if (sock < 0) + return -1; + #endif /* Functions to increase the size of the send and receive UDP buffers @@ -144,6 +144,11 @@ int init_networking(IP ip ,uint16_t port) return -1; }*/ + /*Enable broadcast on socket*/ + int broadcast = 1; + setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char*)&broadcast, sizeof(broadcast)); + + /* Set socket nonblocking */ #ifdef WIN32 /* I think this works for windows */