国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
用UDP協(xié)議實(shí)現(xiàn)廣播通信




作者/JSPHuang


下載源代碼


UDP 是USER DATAGRAM PROTOCAL 的簡稱,是一種在網(wǎng)絡(luò)上提供的無連接的傳輸協(xié)議。
用UDP通信有以下特點(diǎn):

  • 1、 數(shù)據(jù)傳輸不用建立連接,所以不可靠;
  • 2、 數(shù)據(jù)的發(fā)送是面向整個網(wǎng)絡(luò)的,任何一臺在局域網(wǎng)內(nèi)的計算機(jī)都可以接收到相同的數(shù)據(jù);
具體實(shí)現(xiàn)很簡單,但是現(xiàn)在在網(wǎng)絡(luò)上很少看到這方面的代碼;我也參考了VCKBASE上的關(guān)于UDP通信的原代碼和一些書籍,寫了這個簡單的客戶端,接收端程序,起到拋磚引玉的作用,希望能給初次接觸UDP之BROADCAST編程的同志一些參考。

下面就讓我來說一下工作流程, 接收端的程序:
	啟動SOCKET庫,版本為2.0WSAStartup(0x0202,&wsdata);      
然后賦值給兩個地址,一個用來綁定套接字,一個用來從網(wǎng)絡(luò)上的廣播地址接收消息;
	......a.sin_family=AF_INET;a.sin_addr.s_addr=0;a.sin_port=htons(5050);from.sin_family=AF_INET;from.sin_addr.s_addr=INADDR_BROADCAST;from.sin_port=htons(5050);int fromlength=sizeof(SOCKADDR);//用UDP初始化套接字s=socket(AF_INET,SOCK_DGRAM,0);//設(shè)置該套接字為廣播類型,setsockopt(s,SOL_SOCKET,SO_BROADCAST,(char FAR *)&optval,sizeof(optval));//把該套接字綁定在一個具體的地址上bind(s,(sockaddr *)&a,sizeof(sockaddr_in));char buf[256];while(1){ //從廣播地址接收消息,注意用來綁定的地址和接收消息的地址是不一樣的recvfrom(s,buf,256,0,(struct sockaddr FAR *)&from,(int FAR *)&fromlength);Sleep(2000);printf("%s\n",buf);ZeroMemory(buf,256);}.....
無連接協(xié)議不用LISTEN也不用ACCEPT,他直接從廣播地址上接收消息,但我們必須要設(shè)置該套接字為廣播類型。
發(fā)送端的程序比較簡單,只要將發(fā)送地址改為廣播地址,設(shè)置套接字為BROADCAST類型就行,具體實(shí)現(xiàn)細(xì)節(jié)請參見源代碼。
在VC6。0 WIN 2000下運(yùn)行通過。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux下C語言實(shí)現(xiàn)UDP Socket編程
C語言socket UDP廣播的發(fā)送和接收示例
udp實(shí)例代碼
Linux IO多路轉(zhuǎn)接——UDP通信
UDP 收/發(fā) 廣播包
多網(wǎng)卡 socket 的bind問題
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服