udp廣播:
const int max_buf_len = 255;
int main(int argc, char* argv)
if ( lobyte( wsadata.wversion ) != 2 ||hibyte( wsadata.wversion ) != 2 )
// 建立socket
socket connect_socket;
connect_socket = socket(af_inet, sock_dgram, ipproto_udp);
if(invalid_socket == connect_socket)
// 用來繫結套接字
sockaddr_in sin;
sin.sin_family = af_inet;
sin.sin_port = htons(321);
sin.sin_addr.s_addr = 0;
// 用來從網路上的廣播位址接收資料
sockaddr_in sin_from;
// 繫結套接字
err = bind(connect_socket, (sockaddr*)&sin, sizeof(sockaddr));
if(socket_error == err)
int naddrlen = sizeof(sockaddr);
char buff[max_buf_len] = "";
int nloop = 0;
while(1)
buff[nsendsize] = '\0';
printf("recv: %s\n", buff);
}return 0;
}
#include "stdafx.h"
#include#include #include#include#pragma comment(lib,"ws2_32.lib")
using namespace std;
int _tmain(int argc, _tchar* argv)
; cout<<"input what message to send\n:"<>smsg;
//啟動socket庫,版本為2.0
wsastartup(0x0202,&wsdata);
bsocket=true;
//然後賦值給位址,用來從網路上的廣播位址接收訊息;
addrto.sin_family=af_inet;
addrto.sin_addr.s_addr=inaddr_broadcast;
addrto.sin_port=htons(9000);
bool opt=true;
//設定該套接字為廣播型別,
setsockopt(sock,sol_socket,so_broadcast,(char far *)&opt,sizeof(opt));
int nlen=sizeof(addrto);
char buf[100] = ;
while(1)
else
ret = recvfrom( sock, buf, sizeof(buf), 0, (sockaddr*)&addrto, &nlen );
if (socket_error == ret)
else
} return 0;
}
UDP實現廣播傳輸
在生活中 廣播無處不在 如大街上上叫賣的商人,但是在網路中廣播是什麼樣子的呢?網路上的廣播指 由一台主機向該主機所在子網內 同乙個區域網 的所有主機傳送資料的方式。如下圖的 1 號主機廣播給 2 3 4 5 號主機傳送資料 實現廣播,離不開廣播位址,同乙個子網 區域網 的所有主機網絡卡都會接收所在網...
socket實現UDP通訊
udp與tcp不同,是一種無連線的通訊方式,相比tcp而言更加靈活。利用socket實現udp的方式相比tcp而言也更加簡單。傳送方 1.初始化套接字 2.建立socket 3.利用sendto傳送資料 tcp是send 4.關閉socket 接收方 1.初始化套接字 2.建立socket並與本機進...
利用UDP協議實現廣播通訊
在開發應用程式時,如果需要向網路中的所有使用者傳送資訊,可以採用udp協議進行廣播通訊,而不用一一向每個使用者傳送訊息。在程式中使用廣播通訊非常簡單,在建立套接字後,呼叫 setsockopt 方法使套接字具有so broadcast選項。然後再傳送訊息時,降低至設定為廣播形式。建立套接字 m ps...