基于boost库1.60,写一个基于UDP发送数据的的程序。
时间: 2024-02-28 12:57:17 浏览: 19
好的,以下是一个简单的基于boost库1.60的UDP发送数据的程序示例:
```c++
#include <iostream>
#include <boost/asio.hpp>
using boost::asio::ip::udp;
int main() {
try {
boost::asio::io_service io_service;
udp::socket socket(io_service, udp::endpoint(udp::v4(), 0));
udp::resolver resolver(io_service);
udp::endpoint receiver_endpoint = *resolver.resolve({udp::v4(), "localhost", "12345"});
// 这里将 "localhost" 和 "12345" 替换为目标主机的 IP 地址和端口号
std::string message = "Hello, world!";
socket.send_to(boost::asio::buffer(message), receiver_endpoint);
} catch (std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
```
这个程序创建了一个UDP socket,并随机选取一个本地端口号。然后通过resolver解析目标主机地址和端口号,将消息发送给目标主机。
你可以将这个程序保存到一个.cpp文件中,并使用boost库进行编译链接,如:
```
g++ -std=c++11 -I/path/to/boost_1_60_0 -L/path/to/boost_1_60_0/stage/lib -o udp_client udp_client.cpp -lboost_system -lpthread
```
其中,/path/to/boost_1_60_0是你的boost库所在路径。