亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

距離詳解Linux下的UDP方式通訊

2020-05-23 14:13:43
字體:
供稿:網(wǎng)友

這篇文章主要介紹了距離詳解Linux下的UDP方式通訊,是深入Linux系統(tǒng)編程中的基礎(chǔ),需要的朋友可以參考下

UDP方式點對點通訊

 

  1. #include <stdio.h> 
  2. #include <string.h> 
  3. #include <sys/types.h> 
  4. #include <netinet/in.h> 
  5. #include <sys/socket.h> 
  6. #include <errno.h> 
  7. #include <stdlib.h> 
  8. #include <arpa/inet.h> 
  9.  
  10. int main(int argc, char **argv) 
  11. struct sockaddr_in s_addr; 
  12. struct sockaddr_in c_addr; 
  13. int sock; 
  14. socklen_t addr_len; 
  15. int len; 
  16. char buff[128]; 
  17.  
  18. /* 創(chuàng)建 socket , 關(guān)鍵在于這個 SOCK_DGRAM */ 
  19. if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { 
  20. perror("socket"); 
  21. exit(errno); 
  22. else 
  23. printf("create socket./n/r"); 
  24.  
  25. memset(&s_addr, 0, sizeof(struct sockaddr_in)); 
  26. /* 設置地址和端口信息 */ 
  27. s_addr.sin_family = AF_INET; 
  28. if (argv[2]) 
  29. s_addr.sin_port = htons(atoi(argv[2])); 
  30. else 
  31. s_addr.sin_port = htons(7838); 
  32. if (argv[1]) 
  33. s_addr.sin_addr.s_addr = inet_addr(argv[1]); 
  34. else 
  35. s_addr.sin_addr.s_addr = INADDR_ANY; 
  36.  
  37. /* 綁定地址和端口信息 */ 
  38. if ((bind(sock, (struct sockaddr *) &s_addr, sizeof(s_addr))) == -1) { 
  39. perror("bind"); 
  40. exit(errno); 
  41. else 
  42. printf("bind address to socket./n/r"); 
  43.  
  44. /* 循環(huán)接收數(shù)據(jù) */ 
  45. addr_len = sizeof(c_addr); 
  46. while (1) { 
  47. len = recvfrom(sock, buff, sizeof(buff) - 1, 0, 
  48. (struct sockaddr *) &c_addr, &addr_len); 
  49. if (len < 0) { 
  50. perror("recvfrom"); 
  51. exit(errno); 
  52.  
  53. buff[len] = '/0'
  54. printf("收到來自%s:%d的消息:%s/n/r"
  55. inet_ntoa(c_addr.sin_addr), ntohs(c_addr.sin_port), buff); 
  56. return 0; 

客戶端源代碼如下:

 

 
  1. #include <stdio.h> 
  2. #include <string.h> 
  3. #include <sys/types.h> 
  4. #include <netinet/in.h> 
  5. #include <sys/socket.h> 
  6. #include <errno.h> 
  7. #include <stdlib.h> 
  8. #include <arpa/inet.h> 
  9.  
  10.  
  11. int main(int argc, char **argv) 
  12. struct sockaddr_in s_addr; 
  13. int sock; 
  14. int addr_len; 
  15. int len; 
  16. char buff[128]; 
  17.  
  18. /* 創(chuàng)建 socket , 關(guān)鍵在于這個 SOCK_DGRAM */ 
  19. if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { 
  20. perror("socket"); 
  21. exit(errno); 
  22. else 
  23. printf("create socket./n/r"); 
  24.  
  25. /* 設置對方地址和端口信息 */ 
  26. s_addr.sin_family = AF_INET; 
  27. if (argv[2]) 
  28. s_addr.sin_port = htons(atoi(argv[2])); 
  29. else 
  30. s_addr.sin_port = htons(7838); 
  31. if (argv[1]) 
  32. s_addr.sin_addr.s_addr = inet_addr(argv[1]); 
  33. else { 
  34. printf("消息必須有一個接收者!/n"); 
  35. exit(0); 
  36.  
  37. /* 發(fā)送UDP消息 */ 
  38. addr_len = sizeof(s_addr); 
  39. strcpy(buff, "hello i'm here"); 
  40. len = sendto(sock, buff, strlen(buff), 0, 
  41. (struct sockaddr *) &s_addr, addr_len); 
  42. if (len < 0) { 
  43. printf("/n/rsend error./n/r"); 
  44. return 3; 
  45.  
  46. printf("send success./n/r"); 
  47. return 0; 

編譯程序用下列命令:

 

 
  1. gcc -Wall simple-udpserver.c -o server 
  2. gcc -Wall simple-udpclient.c -o client 

運行程序用下列命令:

 

 
  1. ./server 127.0.0.1 7838 
  2.  
  3. ./client 127.0.0.1 7838 

UDP方式廣播通訊

源代碼變成下面的:

 

 
  1. #include <stdio.h> 
  2. #include <string.h> 
  3. #include <sys/types.h> 
  4. #include <netinet/in.h> 
  5. #include <sys/socket.h> 
  6. #include <errno.h> 
  7. #include <stdlib.h> 
  8. #include <arpa/inet.h> 
  9.  
  10. int main(int argc, char **argv) 
  11. struct sockaddr_in s_addr; 
  12. int sock; 
  13. int addr_len; 
  14. int len; 
  15. char buff[128]; 
  16. int yes; 
  17.  
  18. /* 創(chuàng)建 socket */ 
  19. if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { 
  20. perror("socket"); 
  21. exit(errno); 
  22. else 
  23. printf("create socket./n/r"); 
  24.  
  25. /* 設置通訊方式對廣播,即本程序發(fā)送的一個消息,網(wǎng)絡上所有主機均可以收到 */ 
  26. yes = 1; 
  27. setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &yes, sizeof(yes)); 
  28. /* 唯一變化就是這一點了 */ 
  29.  
  30. /* 設置對方地址和端口信息 */ 
  31. s_addr.sin_family = AF_INET; 
  32. if (argv[2]) 
  33. s_addr.sin_port = htons(atoi(argv[2])); 
  34. else 
  35. s_addr.sin_port = htons(7838); 
  36. if (argv[1]) 
  37. s_addr.sin_addr.s_addr = inet_addr(argv[1]); 
  38. else { 
  39. printf("消息必須有一個接收者!/n"); 
  40. exit(0); 
  41.  
  42. /* 發(fā)送UDP消息 */ 
  43. addr_len = sizeof(s_addr); 
  44. strcpy(buff, "hello i'm here"); 
  45. len = sendto(sock, buff, strlen(buff), 0, 
  46. (struct sockaddr *) &s_addr, addr_len); 
  47. if (len < 0) { 
  48. printf("/n/rsend error./n/r"); 
  49. return 3; 
  50.  
  51. printf("send success./n/r"); 
  52. return 0; 

編譯這個程序用下列命令:

 

 
  1. gcc -Wall broadc-udpclient.c -o client 

運行程序用下列命令:

 

 
  1. ./client 192.168.0.255 7838 

就會往192.168.0網(wǎng)絡內(nèi)所有主機發(fā)消息。

其它主機如果運行了服務端:

 

 
  1. ./server 自己的IP地址 7838 

則都會收到上述客戶端發(fā)的消息了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
91久久精品国产91久久性色tv| 在线中文免费视频| 无码人妻一区二区三区在线视频| 午夜在线观看视频| 一道本在线观看视频| 日韩在线视频线视频免费网站| 欧美国产先锋| 女人天堂av在线播放| 久久在线视频在线| 欧美一级本道电影免费专区| xxxxx性欧美特大| 欧美综合久久久| 欧美在线观看一二区| 香蕉国产成人午夜av影院| 四虎永久在线精品| 亚洲性色视频| 久久久久久高清| 国产精品亚洲а∨天堂免在线| 久久久久久久久久久亚洲| 成人禁在线观看网站| 欧美 日韩 国产一区| 亚洲成a人片综合在线| 亚洲欧美一级| 亚洲中国最大av网站| 久热免费在线观看| 国产一区在线电影| 欧美日韩视频在线第一区| 亚洲成人一区| 久久伊人中文字幕| 久久黄色免费网站| 中文字幕亚洲日本| 亚洲国产wwwccc36天堂| 99re8在线精品视频免费播放| 新婚的少妇hd中文字幕| 色婷婷亚洲综合| 亚洲在线视频免费| 欧美理论电影大全| 美女久久久久| 精品一区精品二区| 99热精品在线播放| 波多野结衣精品在线| 久久久久久久久免费| 中文字幕免费在线视频| 色婷婷久久99综合精品jk白丝| 久久久久久久极品内射| 亚洲伊人婷婷| 日韩三级久久| 国产精品国产三级国产aⅴ| 欧美亚洲国产日本| 国内露脸中年夫妇交换精品| 一级做a爱片性色毛片| 日本www在线观看视频| 亚洲综合最新在线| 韩国精品免费视频| 麻豆成人精品| 福利视频第一页| 国内自拍视频在线看免费观看| 666av成人影院在线观看| 久久精品欧美一区二区三区不卡| 尤物视频在线观看视频| 欧美aⅴ一区二区三区视频| 日韩电影在线观看网站| 中文字幕乱码亚洲精品一区| 欧美日韩精品一区二区三区在线观看| av成人在线观看| 欧美大香线蕉线伊人久久| 欧美性猛交内射兽交老熟妇| 精彩国产在线| 亚洲国内欧美| 午夜国产精品视频| 草b视频在线观看| 日韩欧美精品免费在线| 免费不卡在线观看| 亚洲欧美日韩综合| 亚洲图片在区色| 日韩精品久久久久久久的张开腿让| 在线观看的黄色网址| 亚洲欧美在线成人| 性欧美video高清bbw| 久久国产天堂福利天堂| 欧美视频日韩视频| 国产精品午夜一区二区三区| 第九色区aⅴ天堂久久香| 久久久久久蜜桃一区二区| 欧美人善zozσ性伦交| 久久久精品人妻无码专区| 亚洲欧美中文字幕| 亚洲男人资源| 午夜精品免费在线观看| 欧美久久久久久| 国产免费一区二区三区四区五区| 日韩欧美国产大片| 99久久自偷自偷国产精品不卡| 青春草视频在线观看| 在线观看91精品国产入口| 国产在线2020| 台湾佬中文娱乐网欧美电影| 成人写真视频福利网| 91精品国产乱码久久久张津瑜| 91精品入口| 亚洲电影一区二区| 免费福利在线观看| 欧美一级淫片免费视频| 国产美女永久免费无遮挡| 在线欧美日韩精品| 日韩高清欧美高清| 极品少妇一区二区| 色综合影院在线| 醉酒壮男gay强迫野外xx| 亚洲一区二区三区网站| 日本亚洲欧美天堂免费| 亚洲激情中文在线| 90岁老太婆乱淫| 免费成人深夜夜行网站| 图片专区亚洲欧美另类| 日韩在线观看| 综合免费一区二区三区| 韩国精品免费视频| 99免费观看视频| 久久久久久国产精品美女| 蜜臀av性久久久久蜜臀av麻豆| 国产日产亚洲精品| 2022国产麻豆剧果冻传媒剧情| 中文在线天堂库| **欧美日韩vr在线| 不卡的电视剧免费网站有什么| 中文字幕av在线免费观看| 国产三区在线观看| 三级黄视频在线观看| 中文字幕日韩国产| 韩国欧美亚洲国产| 欧美久久一区二区三区| 国产乱精品一区二区三区| 精品美女在线播放| 波多野结衣免费观看| 欧洲在线免费视频| 在线观影网站| 国产草草影院ccyycom| 国产精品99久久久久久久久久久久| 精品香蕉在线观看视频一| 四虎精品免费视频| jizz性欧美| 亚洲成av人片| 欧美黑人极品猛少妇色xxxxx| 免费人成短视频在线观看网站| 极品人妻videosss人妻| 亚洲精品一区视频| 精品国产亚洲一区二区三区大结局| 和岳每晚弄的高潮嗷嗷叫视频| 精品久久久久久久人人人人传媒| 久久精品国产一区二区三区肥胖| 免费毛片网站在线观看| 久久黄色免费视频| 久久综合之合合综合久久| 男人av在线播放| 一本到不卡精品视频在线观看| 无码国产精品一区二区免费16| 精品国产一区二| 久久精品国产久精国产爱| 伊人久久免费视频| 日本黄色免费网站| 右手影院亚洲欧美| 亚洲综合首页| 国产亚洲成aⅴ人片在线观看| 这里只有精品视频| 国产91精品一区二区麻豆亚洲| av中文字幕免费| 又黄又爽的网站| yourporn在线观看中文站| 英国三级经典在线观看| 欧美亚一区二区三区| 国产99久久久久| 懂色av色香蕉一区二区蜜桃| 欧亚精品在线观看| 亚洲一区在线免费观看| 亚洲人成无码网站久久99热国产| 国产农村妇女毛片精品久久莱园子| 成人动漫av| 精品成人在线| 国产综合香蕉五月婷在线| 可以看污的网站| 天天操天天操天天操天天| 三级精品在线观看| 玉足女爽爽91| 成视频免费观看在线看| 无码成人精品区在线观看| 天天干天天做天天操| 亚洲视频在线免费看| 97aⅴ精品视频一二三区| 色88888久久久久久影院| 成人午夜sm精品久久久久久久| 国产精品电影网| 国产精品视频一区二区三区四| 在线播放亚洲一区| 亚洲AV无码久久精品国产一区| 超级碰碰久久| 亚洲精品国产久| 青青草成人免费在线视频| 91传媒视频在线观看| 91资源在线观看| 成人精品一区二区三区| 超清福利视频| 久久免费99精品久久久久久| 自拍视频第一页| 丰满少妇久久久| 成人av番号网| 国产女人18毛片水真多18精品| 五月天婷婷丁香| 欧美13一14另类| 国产精品18在线| 天堂中文在线免费观看| 亚洲成a人v欧美综合天堂下载| 久久久久中文字幕2018| 国产69精品久久99不卡| 中文字幕乱码视频| 五月婷婷中文字幕| 欧美一区二区精美| 久久只有这里有精品| 在线毛片观看| 国产精品福利在线播放| 一区二区欧美精品| 美女毛片一区二区三区四区最新中文字幕亚洲| 中文字幕久热精品视频在线| 亚洲一级特黄| 欧美污视频久久久| 国产一二三四区在线观看| 国产一区二区中文| 情趣网站在线观看| 天天躁日日躁狠狠躁喷水| 在线观看午夜看亚太视频| 欧美激情日韩图片| 亚洲一区二区三区乱码| 青青草原一区二区| 国产一区欧美日韩| 欧美色图在线播放| 久久超碰亚洲| 欧美中日韩免费视频| 成人午夜在线| 成人高清免费在线播放| 青青操在线视频| 91精品国产欧美一区二区18| 风间由美一区二区三区| 精品一区二区在线播放| 亚欧精品一区二区三区| 国产精品91视频| 麻豆九一精品爱看视频在线观看免费| 国产电影一区二区三区| 人交獸av完整版在线观看| 人人人妻人人澡人人爽欧美一区| 97激碰免费视频| 色婷婷成人网| 欧美日韩精品中文字幕| 五月激情婷婷在线| 国产成人精品一区二区| 国产精品永久在线| 国产视频123区| 欧美一级久久久| 中文字幕99| 国产成人一区在线| 精品国产污网站| av电影网站在线观看| 波多野结衣电车痴汉| 一个人www视频在线免费观看| 欧美午夜国产| 在线中文一区| 天天影视综合色| 欧美一区二区麻豆红桃视频| 亚洲欧美日韩天堂一区二区| 蜜桃成人av| 超碰在线91| 高清日韩av| 中文字幕一区久久| 黄色在线观看免费| 国产精品久久久久久久电影| 大地资源高清播放在线观看| 日韩精品手机在线观看| 欧美一区二区三区在线播放| wwwxxx在线观看| 久久中文字幕精品| 亚洲四虎影院| 在线观看免费黄色小视频| 中文字幕一区二区三区四区欧美| 乱码一区二区三区| 亚洲尤物在线视频观看| 亚洲 欧洲 日韩| heisi视频网在线观看| 国产精品影视在线| 日韩欧美在线观看| 国产精品福利一区二区| 亚州av电影免费在线观看| 欧美 国产 综合| 一本色道久久综合亚洲精品按摩| 亚洲自拍偷拍视频| 超碰97免费观看| 亚洲欧美成人一区| 欧美性受ⅹ╳╳╳黑人a性爽| 日韩精品最新在线观看| 在线视频观看你懂的| 免费国产自线拍一欧美视频| 亚洲精品第一国产综合精品| 国产精品三区在线| 国产理论在线播放| 日本夜爽爽一二区| 亚洲中文字幕在线一区| 亚洲老板91色精品久久| 精品视频在线观看| 99re8精品视频在线观看| 波多野结衣大片| 国产精品久久久久久久久影视| 日韩手机在线观看| 快射av在线播放一区| av在线不卡免费| 精品无人区无码乱码毛片国产| 欧美性猛交xxxx乱大交少妇| 中文精品99久久国产香蕉| 亚洲激情视频| 国产精品精品视频一区二区三区| 亚洲欧美综合一区| 中文字幕在线播出| 亚洲天堂精品视频| 国产精品18久久久久久久久久久久| 91在线视频在线观看| 国产精品美女毛片真酒店| 中文字幕乱在线伦视频乱在线伦视频| 2023欧美最顶级a∨艳星| 黄漫在线观看| 伊人网在线观看| 91ph在线|