在開發應用程式時,如果需要向網路中的所有使用者傳送資訊,可以採用udp協議進行廣播通訊,而不用一一向每個使用者傳送訊息。在程式中使用廣播通訊非常簡單,在建立套接字後,呼叫『setsockopt』方法使套接字具有so_broadcast選項。然後再傳送訊息時,降低至設定為廣播形式。
//建立套接字
m_pserversoket=new cserversocket(this);
char name[max_path];
gethostname(name.max_path);
hostent* hostinfo=gethostbyname(name);
cstring ip=inet_ntoa(*(in_addr*)hostinfo->h_addr_list[0]);
if(!m_pserversocket->create(100.sock_dgram,ip))
messagebox("套接字建立失敗");
//廣播資訊
cstring str;
m_data.getwindowtext(str);
sockaddr_in addr;
addr.sin_family=af_inet;
addr.sin_addr.s_un.s_addr=inaddr_broadcast;
addr.sin_port=htons(100);
int len=m_psocket->sendto(str.getbuffer(0).str.getlength().(sockaddr*)&addr,sizeof(addr));
用UDP協議實現廣播通訊
udp 是user datagram protocal 的簡稱,是一種在網路上提供的無連線的傳輸協議。用udp通訊有以下特點 具體實現很簡單,但是現在在網路上很少看到這方面的 我也參考了vckbase上的關於udp通訊的原 和一些書籍,寫了這個簡單的客戶端,接收端程式,起到拋磚引玉的作用,希望能給初...
利用Winsock實現UDP通訊
internet 協議集支援乙個無連線的傳輸協議,該協議稱為使用者資料報協議 udp,user datagram protocol udp 為應用程式提供了一種無需建立連線就可以傳送封裝的 ip 資料報的方法。首先認識幾個windows提供的結構體 word 為微軟sdk中的型別,為兩個byte的無...
c語言實現廣播(udp協議)
使用udp實現廣播功能 當我們執行 時 file send 執行傳送廣播 file recv 執行接收廣播 預設埠為 9999 include include include include include include include intbroadcast send int port 2.開...