DatagramSocket 是 POCO 庫中用於 UDP 通信的核心類,提供了數據報套接字的創建、綁定、連接、收發數據以及廣播功能。
DatagramSocket():創建一個未連接的 IPv4 數據報 Socket。explicit DatagramSocket(IPAddress::Family family):創建指定 IP 類型(IPv4 或 IPv6)的數據報 Socket。DatagramSocket(const SocketAddress& address, bool reuseAddress = false):創建並綁定到指定的 SocketAddress。DatagramSocket(const Socket& socket):從另一個 Socket 的 SocketImpl 創建,要求該 SocketImpl 必須是 DatagramSocketImpl,否則拋出異常。DatagramSocket& operator = (const Socket& socket);
// 賦值運算符:釋放當前 SocketImpl,附加新的 SocketImpl 並增加引用計數。
void connect(const SocketAddress& address):建立到指定地址的連接(UDP 連接是無狀態的,僅設置默認目標地址)。void bind(const SocketAddress& address, bool reuseAddress = false):將 Socket 綁定到本地地址。int sendBytes(const void* buffer, int length, int flags = 0):發送數據到已連接的對端。int receiveBytes(void* buffer, int length, int flags = 0):從已連接的對端接收數據。int sendTo(const void* buffer, int length, const SocketAddress& address, int flags = 0):向指定地址發送數據。int receiveFrom(void* buffer, int length, SocketAddress& address, int flags = 0):接收數據並獲取發送方地址。void setBroadcast(bool flag):啟用或禁用廣播功能。bool getBroadcast() const:獲取當前廣播設置狀態。DatagramSocket(SocketImpl* pImpl);
// 供內部使用,通過 SocketImpl 指針構造。
轉載請注明來自柳大的 CSDN 博客:Blog.CSDN.net/Poechant