基于boost1.60,写一个tcp通信的客户端
时间: 2024-03-11 22:50:35 浏览: 28
好的,以下是一个基于 Boost 1.60 的 TCP 客户端的示例代码:
```cpp
#include <iostream>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
int main()
{
try
{
boost::asio::io_service io_service;
// 创建一个 TCP resolver 对象
tcp::resolver resolver(io_service);
// 解析服务器地址和端口号
tcp::resolver::query query("localhost", "8080");
// 创建一个 TCP socket 对象
tcp::socket socket(io_service);
// 连接服务器
boost::asio::connect(socket, resolver.resolve(query));
// 向服务器发送数据
std::string message = "Hello, server!";
boost::asio::write(socket, boost::asio::buffer(message));
// 读取服务器发送的数据
char reply[1024];
size_t reply_length = boost::asio::read(socket, boost::asio::buffer(reply, message.size()));
std::cout << "Reply from server: " << reply << std::endl;
}
catch (std::exception& e)
{
std::cerr << "Exception: " << e.what() << std::endl;
}
return 0;
}
```
这个示例程序会连接本地的 8080 端口,发送一个消息给服务器,并接收服务器返回的消息。你可以根据自己的需要修改地址和端口号,并在发送数据之前修改消息内容。同时,你需要链接 Boost 库,编译时需要加上 `-lboost_system` 参数。