您的位置: 首页 > 新闻资讯 > > 正文

如何使用Boost asio实现同步的TCP/IP通信?

发布时间:2020年01月08日 来源:互联网

  可以先了解一下Boost asio基本概念,以下是Boost asio实现的同步TCP/IP通信:

  服务器程序部分,如果想保留套接字之后继续通信,可以动态申请socket_type,保存指针,因为socket_type貌似不能拷贝:

  

如何使用Boost asio实现同步的TCP/IP通信?


  #include "stdafx.h"

  #include <iostream>

  #include <boost/asio.hpp>

  using namespace boost::asio;

  using namespace std;

  int main()

  {

  try

  {

  typedef ip::tcp::acceptor acceptor_type;

  typedef ip::tcp::endpoint endpoint_type;

  typedef ip::tcp::socket socket_type;

  std::cout<<"Server start."<<endl;

  io_service io;

  acceptor_type acceptor(io, endpoint_type(ip::tcp::v4(), 6688));

  std::cout<<acceptor.local_endpoint().address()<<endl;

  for (;;)

  {

  socket_type sock(io);

  acceptor.accept(sock);

  std::cout<<"Client";

  std::cout<<sock.remote_endpoint().address()<<endl;

  sock.send(buffer("Hello asio"));

  }

  }

  catch (std::exception &e)

  {

  std::cout<<e.what()<<endl;

  }

  return 0;

  }

 


  客户端:

 


  #include "stdafx.h"

  #include <iostream>

  #include <boost/asio.hpp>

  using namespace boost::asio;

  using namespace std;

  int main()

  {

  try

  {

  typedef ip::tcp::acceptor acceptor_type;

  typedef ip::tcp::endpoint endpoint_type;

  typedef ip::tcp::socket socket_type;

  typedef ip::address address_type;

  std::cout<<"Client start."<<endl;

  io_service io;

  socket_type sock(io);

  endpoint_type ep(address_type::from_string("127.0.0.1"), 6688);

  sock.connect(ep);

  vector<char> str(100, 0);

  boost::system::error_code ec;

  for (;;)//循环接收

  {

  sock.read_some(buffer(str), ec);

  if (ec)

  {

  break;

  }

  cout<<&str[0];

  }

  // 析构自动断开连接

  }

  catch (std::exception &e)

  {

  std::cout<<e.what()<<endl;

  }

  return 0;

  }


相关文章内容简介

1 不同的代理IP有什么区别?

    不同的代理IP有什么区别?使用代理IP时,现在有很多代理IP商家,很多用户也看不出有什么不同,也不知道该怎么选择。那么,代理IP有什么不同呢?    首先代理IP有免费和收费的,免费就是不需要花钱,在网络上可以直接找到,但可用率很低,挑选可用IP会很麻烦,只适合初级学者,不适合用于工作。收费就是由商家提供的代理IP软件,需要花钱,但操作简单,换IP也方便。如果不小心选择了质量差的代理,访问时候对方可能会识别出你使用了代理IP,依旧会查出真实IP,导致被封。    所以如果是专业人员工作使用代理IP,建议选择收费的代理IP,这样工作效率高,还不会有被封的风险。万变ip代理提供的IP均为高匿名IP,有不同套餐,可以按照自己的项目来选择,价格合理。    找到合适的代理IP要根据自己的实际需求来定,最简单的方法就是对IP进行验证,可以验证代理IP是否有效。还可以对代理IP提供的IP匿名程度来进行检测,一般都需要用高匿名代理效果是最好的。还可以验证代理IP是否可以访问... [阅读全文]

2 代理ip怎么选择呢?

    代理ip怎么选择呢?代理IP很多人都不陌生,特别是推广人员,可以给我们的工作带来很大的帮助。随着需求的增大,IP代理软件特别多,所以在挑选的时候让很多用户不知该怎么办。那么,代理IP哪家好呢?    万变ip代理IP是非常实用的,是自己搭建的服务器,IP可用率非常高,可达到97%,IP质量无需担心,在使用的时候绝对不会出现冲突的情况。而且操作的过程很简单,只需一键就可快速更换IP,还有专业技术人员在线指导,无论是否用过代理IP软件,都可以快速掌握。    选择好的代理IP软件用户要多参考几家软件,有的软件并不是特别好用,所以用户不要急于选择,可以多试用几家。    现在在网络中随便搜索就可以找到很多代理IP软件,因为软件的数量剧增,在选择的时候就尤为重要,如果选择了不好的代理,不仅不会给我们的工作带来帮助,还会很麻烦。下面就为大家介绍一下选择代理IP的三要素。    1.IP资源的数量。如果可以提供的IP数量很少,在切换IP的时候就很有可能... [阅读全文]

推荐阅读

  1. 18

    2020-12

    代理服务器地址不稳定怎么办?

    网上很多营销方式都需要反复操作,比如网上发帖就是一个明显的例子。通过互联网发帖,可以增加曝光度,甚至带来直接利益。但如果一台电脑频繁用一个在线 代理服务器 发帖,系统会判定

  2. 10

    2021-03

    ​什么是WEB里面的反向代理?

    客户机可以通过一个前向代理来访问许多不同的资源,而反向代理是指许多客户机在不知道后端服务器是否存在的情况下,通过它来访问不同后端服务器上的资源。通过因特网向反向代理发送请

  3. 29

    2020-02

    如何自身构建IP代理池?

    技术性牛的程序猿会自身构建 IP代理 池,但是针对刚新手入门的新手或是上班时间很紧凑型的人而言,花销气力去构建一个IP代理池,一些因小失大了。因此,目前市面上就出現了许多 改ip软件

  4. 09

    2021-01

    玩家没有代理ip在游戏中开户容易出问题?

    为什么玩家在游戏中开户容易出问题?例如,帐户不能正常登录,帐户也被封印。使用设备的选择:系统检测玩家使用的设备,如果系统检测出玩家的账户不是真正的手机注册,则无法强制注册

  5. 15

    2019-11

    HTTP资源为什么显示操作频繁?

    出现 IP地址 被限制操作的情况那是因为,你用的 代理IP 凑巧是别人用过的且用来访问的网站相同,用的还比较频繁,这种情况一般出现在免费代理IP、普通代理IP或者开放代理IP中,还有一些IP

  6. 25

    2019-10

    便宜的代理IP哪个好用?

    代理ip很多人的生活工作中是必不可少的工具,例如网络爬虫、推广、投票等等。随着需求的增大,代理IP也越来越多。在用户想肯定希望有便宜好用的代理IP,那么,便宜的代理IP哪个好用?

因为专业! 所以简单! 产品至上,价格实惠 是我们服务追求的宗旨

免费试用