当前位置:K88软件开发文章中心电脑基础基础应用04 → 文章内容

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

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-1-30 23:53:36

  UDP是永固数据报协议,与TCP协议功能相同,我们在进行qq聊天的时候使用的就是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 

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