boost库1.70,udp建立连接,写一个服务端,举例说明
时间: 2024-03-19 17:44:01 浏览: 14
Boost库提供了非常方便的网络编程接口,可以使用Boost.Asio库轻松地编写UDP协议的服务端程序。下面是一个简单的示例代码,演示了如何使用Boost.Asio库编写一个UDP协议的服务端程序:
```c++
#include <iostream>
#include <boost/asio.hpp>
using boost::asio::ip::udp;
int main()
{
try
{
boost::asio::io_context io_context;
// 创建一个UDP协议的socket对象
udp::socket socket(io_context, udp::endpoint(udp::v4(), 1234));
while (true)
{
char data[1024];
// 接收数据
udp::endpoint sender_endpoint;
size_t length = socket.receive_from(boost::asio::buffer(data, 1024), sender_endpoint);
// 输出接收到的数据
std::cout << "Received data: ";
std::cout.write(data, length);
std::cout << std::endl;
// 发送数据
socket.send_to(boost::asio::buffer("Received your message!"), sender_endpoint);
}
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}
```
该程序创建了一个UDP协议的socket对象,并且绑定了本地的IP地址和端口号。然后进入一个循环,不断接收客户端发送过来的数据,并且向客户端发送一条确认消息。可以使用任何支持UDP协议的客户端程序向该服务端发送数据。