文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>对于Socket的UDP数据广播的重新认识

对于Socket的UDP数据广播的重新认识

时间:2010-12-04  来源:swtar

 

下面给出windows下UDP发送广播数据代码.

UDP广播地址为255.255.255.255

通过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));

相关阅读 更多 +
排行榜 更多 +
枪战大乱斗2

枪战大乱斗2

飞行射击 下载
猎鸭挑战安卓版

猎鸭挑战安卓版

飞行射击 下载
空军

空军

飞行射击 下载