winsock 收發廣播包

2021-09-07 01:46:18 字數 1107 閱讀 6673

☛廣播包的概念

廣播包通常為了如下兩個原因使用:1 乙個應用程式希望在本地網路中找到乙個資源,而應用程式對於該資源的位址又沒有任何先驗的知識。 

2 一些重要的功能,例如路由要求把它們的資訊傳送給所有找到的鄰機。

被廣播資訊的目的位址取決於這一資訊將在何種網路上廣播。internet域中支援乙個速記位址用於廣播-inaddr_broadcast。由於使

用廣播以前必須**乙個資料報套介面,所以所有收到的廣播訊息都帶有傳送者的位址和埠。

廣播通訊是無連線的通訊,通訊前不需要建立連線。不需要listen和accept,但需要繫結乙個socket用來接收廣播。

☛廣播包的傳送

建立socket

設定socket,例如設定超時、允許廣播等

繫結socket。在使用廣播前必須繫結乙個socket。這一步可有可無,如果沒有,系統自動繫結到乙個未用埠。

傳送廣播。廣播的埠號要和接收方繫結的埠號一致

#include "stdafx.h"

#include #include #include #pragma comment(lib, "ws2_32.lib")

void autocleanup()

int _tmain(int argc, _tchar* argv)

closesocket(sock);

atexit(autocleanup);

return 0;

}

☛接收廣播包

接收方一定要知道廣播方的埠號,然後繫結同樣的埠號才能正確接收。道理很簡單,如果不繫結到乙個埠,它不知道到**接收資料。

//#include "stdafx.h"

#include #include #include #pragma comment(lib, "ws2_32.lib")

void autocleanup()

int _tmain(int argc, _tchar* argv)

}closesocket(sock);

atexit(autocleanup);

return 0;

}

UDP 收 發 廣播包

如果網路中兩個主機上的應用程式要相互通訊,其一要知道彼此的ip,其二要知道程式可監聽的埠。因為同一主機上的程式使用網路是通過埠號來區分的。1.初始化網路庫 2.建立sock dgram型別的socket。3.繫結套接字。4.傳送 接收資料。5.銷毀套接字。6.釋放網路庫。專門用於同時向網路中所有工作...

UDP 收 發 廣播包

如果網路中兩個主機上的應用程式要相互通訊,其一要知道彼此的ip,其二要知道程式可監聽的埠。因為同一主機上的程式使用網路是通過埠號來區分的。1.初始化網路庫 2.建立sock dgram型別的socket。3.繫結套接字。4.傳送 接收資料。5.銷毀套接字。6.釋放網路庫。專門用於同時向網路中所有工作...

UDP收 發廣播包過程

udp收 發廣播包過程 如果網路中兩個主機上的應用程式要相互通訊,其一要知道彼此的ip,其二要知道程式可監聽的埠。因為同一主機上的程式使用網路是通過埠號來區分的。udp socket的使用過程 1.初始化網路庫 2.建立sock dgram型別的socket。3.繫結套接字。4.傳送 接收資料。5....