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);
}