3、boost asio 教程---最简单的服务器

根据维基百科,

服务器是一种为其他程序或设备提供功能的计算机程序或设备,称为“客户端”。

这是一个非常好的描述,事实上,服务器只不过是这样。服务器没有什么真正的神奇之处,它只是一个接收其他应用程序发送的数据并返回一些数据的应用程序。

我们将从最简单的服务器开始——UDP回声服务器。它执行以下操作:

接收发送到UDP端口15001的任何数据

将接收到的数据原样发送回发送方。

实际上,您可以为您的服务器选择几乎任何端口。在这里可以找到许多用于不同服务的常用端口列表:TCP和UDP端口号码然而,通常,只有在安装了操作系统的机器上才会同时使用其中的少数服务。

现在看一下以下源代码:

#include <boost/asio.hpp>

int main() { 
    std::uint16_t port = 15001;

    boost::asio::io_context io_context;
    boost::asio::ip::udp::endpoint receiver(boost::asio::ip::udp::v4(), port);
    boost::asio::ip::udp::socket socket(io_context, receiver);

    for(;;)
    {
        char buffer[65536];
        boost::asio::ip::udp::endpoint sender;
        std::size_t bytes_transferred = socket.receive_from(boost::asio::buffer(buffer), sender);
        socket.send_to(boost::asio::buffer(buffer, bytes_transferred), s

猜你喜欢

转载自blog.csdn.net/Knowledgebase/article/details/132716835