linux 使用Boost Asio 写一个简单的同步的服务端demo

我私下的在学 Boost::Asio 网络库

有同步的和异步的 我本篇写了个 同步的 试一试怎么玩
因为刚学 所以写的就非常简单 就几行代码

关于环境的搭建 我其他文章有写

在这里插入图片描述

#include <iostream>

#include <boost/asio.hpp>

using namespace std;

int main()
{

    boost::asio::io_service m_ioService;

    boost::asio::ip::tcp::acceptor m_acceptor(m_ioService,
                                                    boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),6666));

   cout <<"Boost::Asio listen success !"<<endl;





    for(;;)
    {

            //socket
            boost::asio::ip::tcp::socket m_socket(m_ioService);

            //wait client.....
            m_acceptor.accept(m_socket);

            //show client ip and port
            std::cout <<"client ip:"<<m_socket.remote_endpoint().address()<<" port:"<<m_socket.remote_endpoint().port()<<std::endl;

            boost::system::error_code error;

            //read client data
            char buffer[1024];
            int len = m_socket.read_some(boost::asio::buffer(buffer),error);

            std::cout<<"client send:"<<buffer<<endl;
            std::cout <<"data len:" <<len<<endl;

            //write to client data
            std::string str = "i am Boost::asio server!";
            m_socket.write_some(boost::asio::buffer(str),error);

    }



    return 0;



}

下面是效果图

客户端我是用了一个开源的软件 sokit-master

在这里插入图片描述
后面我在试一试 异步的 ,等我多看看 Boost::Asio 的架构 现在还不了解

发布了171 篇原创文章 · 获赞 386 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_42837024/article/details/104679379