使用win32 API在C中广播UDP套接字

我使用UDP套接字创建了一个客户端服务器应用程序。 应用程序工作正常,因为只有一个服务器和一个客户端。 但现在我想让我的服务器“广播”。 我怎么能这样做? 我一直试图这样做但它在BIND函数中出错并返回错误“10049”。 这是我的代码片段:

#define broadcastPort 8888 WSADATA wsa; SOCKET s; //Initialise winsock printf("\nInitialising Winsock..."); if (WSAStartup(MAKEWORD(2,2),&wsa) != 0) { printf("Failed. Error Code : %d",WSAGetLastError()); exit(EXIT_FAILURE); } printf("Socket Initialised.\n"); //Create a socket if((s = socket(AF_INET , SOCK_DGRAM , IPPROTO_UDP )) == INVALID_SOCKET) { printf("Could not create socket : %d" , WSAGetLastError()); } printf("Socket created.\n"); struct sockaddr_in serverSocket; char *broadcastPermission = "TRUE"; if ((setsockopt(s, SOL_SOCKET, SO_BROADCAST,(char *)broadcastPermission,sizeof(broadcastPermission))) < 0){ printf("%d",WSAGetLastError()); while(1); //exit(1); } ///Prepare the sockaddr_in structure/// serverSocket.sin_family = AF_INET; serverSocket.sin_addr.s_addr = INADDR_BROADCAST; serverSocket.sin_port = htons( broadcastPort); //Bind if( bind(s ,(struct sockaddr *)&serverSocket , sizeof(serverSocket)) == SOCKET_ERROR) { printf("\nBind failed with error code : %d" , WSAGetLastError()); exit(EXIT_FAILURE); } printf("Bind done\n\n");