利用UDP協議實現廣播通訊

2021-07-02 15:31:49 字數 798 閱讀 6354

在開發應用程式時,如果需要向網路中的所有使用者傳送資訊,可以採用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.開...