9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux如何實(shí)現(xiàn)UDP廣播消息的傳輸

Linux如何實(shí)現(xiàn)UDP廣播消息的傳輸

時(shí)間: 孫勝652 分享

Linux如何實(shí)現(xiàn)UDP廣播消息的傳輸

  UDP是永固數(shù)據(jù)報(bào)協(xié)議,與TCP協(xié)議功能相同,我們?cè)谶M(jìn)行qq聊天的時(shí)候使用的就是UDP協(xié)議,下面學(xué)習(xí)啦小編給大家介紹下Linux如何使用UDP進(jìn)行廣播消息的發(fā)送與接收,一起來了解下吧。

  [cpp] view plaincopy

  // 發(fā)送端

  #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;

  //設(shè)置該套接字為廣播類型,

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

  //從廣播地址發(fā)送消息

  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

  // 接收端

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  using namespace std;

  int main()

  {

  setvbuf(stdout, NULL, _IONBF, 0);

  fflush(stdout);

  // 綁定地址

  struct sockaddr_in addrto;

  bzero(&addrto, sizeof(struct sockaddr_in));

  addrto.sin_family = AF_INET;

  addrto.sin_addr.s_addr = htonl(INADDR_ANY);

  addrto.sin_port = htons(6000);

  // 廣播地址

  struct sockaddr_in from;

  bzero(&from, sizeof(struct sockaddr_in));

  from.sin_family = AF_INET;

  from.sin_addr.s_addr = htonl(INADDR_ANY);

  from.sin_port = htons(6000);

  int sock = -1;

  if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)

  {

  cout《《“socket error”《

  return false;

  }

  const int opt = 1;

  //設(shè)置該套接字為廣播類型,

  int nb = 0;

  nb = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&opt, sizeof(opt));

  if(nb == -1)

  {

  cout《《“set socket error.。。”《

  return false;

  }

  if(bind(sock,(struct sockaddr *)&(addrto), sizeof(struct sockaddr_in)) == -1)

  {

  cout《《“bind error.。。”《

  return false;

  }

  int len = sizeof(sockaddr_in);

  char smsg[100] = {0};

  while(1)

  {

  //從廣播地址接受消息

  int ret=recvfrom(sock, smsg, 100, 0, (struct sockaddr*)&from,(socklen_t*)&len);

  if(ret《=0)

  {

  cout《《“read error.。。。”《

  }

  else

  {

  printf(“%s/t”, smsg);

  }

  sleep(1);

  }

  return 0;

  }

  上面就是Linux使用DUP發(fā)送接收廣播消息的方法介紹了,為DUP配置命令,還可實(shí)現(xiàn)更多的功能,DUP協(xié)議還有資源消耗小,處理速度快的優(yōu)點(diǎn),廣泛應(yīng)用于視頻、音頻的傳送。

317789 主站蜘蛛池模板: 精品亚洲成A人在线观看青青 | 白丝乳交内射一二三区| 97久久精品无码一区二区| 亚洲一区二区三区在线播放无码| 国产精品一二三中文字幕| 久久精品伊人狠狠大香网| 高清破外女出血AV毛片| 玩弄漂亮少妇高潮白浆| 亚欧乱色精品免费观看| 日本另类αv欧美另类aⅴ| 大又大又粗又硬又爽少妇毛片| 国产精品亚洲二区在线看| 国产成年码AV片在线观看| 精品国产亚洲一区二区三区在线观看| 欧美人与动zozo在线播放| 国产精品第一页中文字幕| 少妇办公室好紧好爽再浪一点| 亚洲国产精品一区二区视频| 国产极品美女高潮无套| 国产精品国产高清国产一区| 国产免费一区二区不卡| 亚洲一区二区三上悠亚| 成人av午夜在线观看| 日韩午夜福利视频在线观看| 日韩国产精品中文字幕| 丰满少妇呻吟高潮经历| 中文字幕日韩一区二区不卡 | 国产精品自在自线免费观看| 成人国产av精品免费网| 一本精品99久久精品77| 91久久久久无码精品露脸| 黄色三级亚洲男人的天堂| 久久精品国产精品亚洲艾| 中文字幕国产精品专区| 三年片在线观看免费观看高清动漫| 欧美成人精品三级网站| 五十路久久精品中文字幕| 国产精品青青在线观看爽香蕉| 亚洲午夜香蕉久久精品| 国产av综合色高清自拍| 一区二区中文字幕av|