中国黑防联盟

Linux如何实现UDP广播消息的传输

中国黑防联盟 电脑使用教程 2024-04-28 22:20:22 0
  UDP是永固数据报协议,与TCP协议功能相同,我们在进行qq聊天的时候使用的就是UDP协议,下面小编给大家介绍下Linux如何使用UDP进行广播消息的发送与接收,一起来了解下吧。  Linux如何实现UDP广播消息的传输   [cpp] view plaincopy   // 发送端   #include   #include   #include   #include   #include   #include   #include   #include   #include   using namespace std;   int main()   {   setvbuf(stdout, NULL, _IONBF, 0);   fflush(stdout);   int sock = -1;   if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)   {   cout《《“socket error”《   return false;   }   const int opt = 1;   //设置该套接字为广播类型,   int nb = 0;   nb = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&opt, sizeof(opt));   if(nb == -1)   {   cout《《“set socket error.。。”《   return false;   }   struct sockaddr_in addrto;   bzero(&addrto, sizeof(struct sockaddr_in));   addrto.sin_family=AF_INET;   addrto.sin_addr.s_addr=htonl(INADDR_BROADCAST);   addrto.sin_port=htons(6000);   int nlen=sizeof(addrto);   while(1)   {   sleep(1);   //从广播地址发送消息   char smsg[] = {“abcdef”};   int ret=sendto(sock, smsg, strlen(smsg), 0, (sockaddr*)&addrto, nlen);   if(ret《0)   {   cout《《“send error.。。。”《   }   else   {   printf(“ok ”);   }   }   return 0;   }   [cpp] view plaincopy