c++++标准库提供网络编程功能:创建套接字连接到远程主机发送和接收数据关闭连接

使用C++标准库进行网络编程
C++标准库提供了广泛的网络编程功能,使用户能够轻松与远程计算机建立连接并传输数据。本教程将介绍如何使用C++标准库执行以下网络编程任务:
代码示例
立即学习“C++免费学习笔记(深入)”;
以下提供了一个简单的C++网络编程示例, демонстрационных целях创建一个简单的客户端-服务器应用程序:
客户端代码:
#include <iostream>
#include <boost/asio.hpp>
int main() {
// 创建套接字
boost::asio::io_service io_service;
boost::asio::ip::tcp::socket socket(io_service);
// 连接到远程主机
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 12345);
socket.connect(endpoint);
// 发送数据
std::string message = "Hello from client!";
socket.write_some(boost::asio::buffer(message));
// 接收数据
std::vector<char> buffer(1024);
size_t len = socket.read_some(boost::asio::buffer(buffer));
std::cout << std::string(buffer.begin(), buffer.begin() + len) << std::endl;
// 关闭连接
socket.close();
return 0;
}服务器代码:
#include <iostream>
#include <boost/asio.hpp>
int main() {
// 创建套接字
boost::asio::io_service io_service;
boost::asio::ip::tcp::acceptor acceptor(io_service, boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 12345));
// 接受连接
boost::asio::ip::tcp::socket socket(io_service);
acceptor.accept(socket);
// 接收数据
std::vector<char> buffer(1024);
size_t len = socket.read_some(boost::asio::buffer(buffer));
std::cout << std::string(buffer.begin(), buffer.begin() + len) << std::endl;
// 发送数据
std::string message = "Hello from server!";
socket.write_some(boost::asio::buffer(message));
// 关闭连接
socket.close();
return 0;
}
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号