zoukankan      html  css  js  c++  java
  • Boost笔记--Asio--(1)简单的同步通信小示例

      看了一天的Boost.Asio库的资料,现在还是有点迷糊。对于Asio的学习还是要继续,同时在这里也记录下自己入手的第一个小例子。感觉先从小例子入手,然后再去理解那些原理概念啥的,要好一些。因为概念原理都太抽象了,有了小例子就知道是怎么个套路了。对于Asio库的在后面的学习中会陆续的写些文章来记录一些笔记。

    (注:我不是专业的网络人士,有些东西可能我自己理解的很幼稚,没办法我连tcp/ip协议了解的很少。只能边学边去了解了。)

    (1)服务器端代码

    #include <iostream>
    #include <boost/asio.hpp>
    
    int main(int argc,char * argv[]){
        boost::asio::io_service service;
        boost::asio::ip::tcp::acceptor acceptor(service,boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),5000));
        
        bool is_stop=false;
        while(!is_stop){
           boost::asio::ip::tcp::socket sock(service);
           acceptor.accept(sock);
           std::cout<<sock.remote_endpoint().address()<<std::endl;
           boost::system::error_code errcode;
           sock.write_some(boost::asio::buffer("hello world"),errcode);
           if(errcode){
               std::cout<<boost::system::system_error(errcode).what()<<std::endl;
               break;
           }
        }
        return 0;
    }

    (2)客户端的代码

    #include <iostream>
    #include <boost/asio.hpp>
    
    int main(int argc,char * argv[]){
        boost::asio::io_service service;
        boost::asio::ip::tcp::acceptor acceptor(service,boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),5000));
        
        bool is_stop=false;
        while(!is_stop){
           boost::asio::ip::tcp::socket sock(service);
           acceptor.accept(sock);
           std::cout<<sock.remote_endpoint().address()<<std::endl;
           boost::system::error_code errcode;
           sock.write_some(boost::asio::buffer("hello world"),errcode);
           if(errcode){
               std::cout<<boost::system::system_error(errcode).what()<<std::endl;
               break;
           }
        }
        return 0;
    }

    编译及运行结果:

  • 相关阅读:
    土豆案例(display:none和block的应用)
    显示和隐藏
    鼠标经过提高层级案例(margin,相对定位,z-index)
    垂直对齐vertical-align
    表单初始化
    使用定位隐式转换为行内块元素
    清除浮动的方法
    定位的盒子叠放顺序z-index
    FreeRTOS-为什么关中断之后切换进程?
    PowerPC-关闭中断后,还能报sc中断?
  • 原文地址:https://www.cnblogs.com/gis-user/p/5087549.html
Copyright © 2011-2022 走看看