卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

如何使用C++标准库进行网络编程?

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;
}
卓越飞翔博客
上一篇: python中list是什么意思
下一篇: golang框架在媒体流处理项目中的实践
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏