正文

UDP发送广播数据实例2010-07-28 20:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/51542.html

分享到:

因为某些需求,我们需要在网络中发送UDP广播,下面给出windows下UDP发送广播数据代码. UDP广播地址为255.255.255.255   关键字: setsockopt,  SO_BROADCAST, UDP广播地址   通过setsockopt这个API设置一个socket为广播socket   ////////////////////////////////////////////////////////////////////////////////////////      setsockopt说明:      设置套接口的选项。   #include <winsock.h>   int PASCAL FAR setsockopt( SOCKET s, int level, int optname,   const char FAR* optval, int optlen);   s:标识一个套接口的描述字。   level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。   optname:需设置的选项。   optval:指针,指向存放选项值的缓冲区。   optlen:optval缓冲区的长度。 /////////////////////////////////////////////////////////////////////////////////////////   ///代码示例   SOCKET sock; BOOL bBroadcast = TRUE; char  szBroadcast[] = "this is broadcast data!"; SOCKADDR_IN sockAddr;   // create udp socket sock = WSASocket(AF_INET,  SOCK_DGRAM/*UDP*/,  0, NULL, 0, WSA_FLAG_OVERLAPPED); // set udp broadcast optional setsockopt(sock, SOL_SOCKET, SO_BROADCAST/* broadcast data */, (char*)&bBroadcast, sizeof(BOOL));   // initial SOCKADDR_IN sockAddr.sin_family = AF_INET; sockAddr.sin_addr.s_addr = inet_addr(INADDR_BROADCAST); sockAddr.sin_port = htons(8080); // broadcast port sendto(sock, szBroadcast, strlen(szBroadcast), 0, (SOCKADDR*)&sockAddr, sizeof(sockAddr));  

阅读(7578) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册