X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FSocket.hh;fp=src%2FMoof%2FSocket.hh;h=6b0fa88fa6bbe7a72c52eef4773687f217c4a351;hp=f1604663b038c37ff408061ca50db4d914ccd38a;hb=61e441a6b4b7c4b2b14b12a1a2545a04155c719b;hpb=1a9061caa8fe73b4b34a37fe467e145bba7bd2f5 diff --git a/src/Moof/Socket.hh b/src/Moof/Socket.hh index f160466..6b0fa88 100644 --- a/src/Moof/Socket.hh +++ b/src/Moof/Socket.hh @@ -90,7 +90,16 @@ public: static SocketAddress broadcast(const std::string& service) { - return SocketAddress(service, "255.255.255.255", SOCK_DGRAM); + std::istringstream stream(service); + unsigned short port; + stream >> port; + + struct sockaddr_in addr; + addr.sin_family = AF_INET; + addr.sin_port = htons(port); + addr.sin_addr.s_addr = INADDR_BROADCAST; + memset(&addr.sin_zero, 0, sizeof(addr.sin_zero)); + return SocketAddress((sockaddr*)&addr, sizeof(addr), SOCK_DGRAM); }