ip::udp::socket
时间: 2023-07-02 11:08:16 浏览: 51
ip::udp::socket 是 Boost C++ 库中用于实现 UDP 套接字的类。它提供了发送和接收 UDP 数据包的方法,可以用于构建基于 UDP 协议的网络应用程序。使用该类需要包含头文件 <boost/asio.hpp>。下面是一个简单的示例:
```c++
#include <boost/asio.hpp>
#include <iostream>
using boost::asio::ip::udp;
int main()
{
boost::asio::io_context io_context;
udp::socket socket(io_context, udp::endpoint(udp::v4(), 1234));
char data[1024];
while (true) {
udp::endpoint sender_endpoint;
size_t length = socket.receive_from(boost::asio::buffer(data), sender_endpoint);
std::cout << "Received " << length << " bytes from "
<< sender_endpoint << std::endl;
socket.send_to(boost::asio::buffer(data, length), sender_endpoint);
}
return 0;
}
```
以上代码创建了一个 UDP 套接字,并在端口 1234 上监听。当有数据包到达时,它会打印出接收到的字节数和发送方的地址信息,并将数据包回送给发送方。