boost库1.70,udp建立连接,写一个服务端,指定本地IP和端口号6179,举例说明
时间: 2024-03-29 15:40:05 浏览: 156
c++采用Boost方式,搭建服务端、客户端通信
以下是一个使用boost库1.70实现的UDP服务端示例代码,它会监听本地IP地址为127.0.0.1,端口号为6179的UDP端口,接收来自客户端的数据并将其打印出来:
```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(), 6179));
while (true)
{
char data[1024];
udp::endpoint remote_endpoint;
boost::system::error_code error;
size_t size = socket.receive_from(boost::asio::buffer(data, 1024), remote_endpoint, 0, error);
if (error && error != boost::asio::error::message_size)
{
std::cerr << "error: " << error.message() << std::endl;
break;
}
std::cout << "received: ";
std::cout.write(data, size);
std::cout << std::endl;
}
return 0;
}
```
在上面的代码中,我们使用了boost::asio::ip::udp命名空间中的udp::socket和udp::endpoint类来创建UDP套接字,并绑定到本地IP地址和端口号6179上。然后在一个无限循环中,我们使用socket.receive_from()方法来接收客户端发送的数据,并将其打印出来。
注意:这里我们使用了127.0.0.1作为本地IP地址,这意味着UDP服务端只能接受来自本地的客户端连接。如果要使服务端能够接受来自其他机器的客户端连接,需要将本地IP地址替换为服务器的实际IP地址。
阅读全文