基于C++,使用boost1.70的库,写一个tcp连接服务器的客户端
时间: 2024-03-15 13:46:41 浏览: 121
好的,下面是一个基于Boost库的TCP连接服务器的客户端的示例代码,可以参考:
```c++
#include <iostream>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
int main() {
try {
boost::asio::io_context io_context;
// 创建一个tcp::socket对象
tcp::socket socket(io_context);
// 连接服务器
tcp::resolver resolver(io_context);
boost::asio::connect(socket, resolver.resolve("localhost", "8080"));
// 发送数据
std::string message = "Hello, server!";
boost::asio::write(socket, boost::asio::buffer(message));
// 读取服务器响应数据
boost::asio::streambuf receive_buffer;
boost::asio::read_until(socket, receive_buffer, "\n");
std::string receive_message = boost::asio::buffer_cast<const char*>(receive_buffer.data());
std::cout << "Received: " << receive_message << std::endl;
} catch (std::exception& e) {
std::cerr << "Exception: " << e.what() << std::endl;
}
return 0;
}
```
在代码中,我们首先创建了一个`tcp::socket`对象,然后使用`tcp::resolver`对象解析服务器地址并连接服务器。接着,我们向服务器发送了一条消息,并且通过`boost::asio::read_until`函数读取服务器响应数据。最后,我们输出了服务器返回的数据。
请注意,这里的服务器地址和端口号是`localhost`和`8080`,你需要根据实际情况修改这些参数。另外,需要在编译时链接Boost库。
阅读全文