说明:以下源码来自参考文献[1], 比原文更丰富, 更有指导意义, 方便日后参考.

udp servr端源码

//g++ -g udp_server.cpp -o udp_server -lboost_system
//#include <iostream>
#include <boost/asio.hpp>
#include <boost/system/error_code.hpp>using namespace std;
using namespace boost::asio;int main(){try{cout << "udp server start ......" << endl;io_service ios;ip::udp::socket sock(ios, ip::udp::endpoint(ip::udp::v4(), 6699));while(true){char buf[1];ip::udp::endpoint ep;boost::system::error_code ec;sock.receive_from(buffer(buf), ep, 0, ec);if(ec && ec!=error::message_size){throw boost::system::system_error(ec);}cout << "send to " << ep.address() << endl;sock.send_to(buffer("hello asio udp"), ep);}}catch(std::exception& e){cout << e.what() << endl;}return 0;
}

udp client端源码

//g++ -g udp_client.cpp -o udp_client -lboost_system
//#include <iostream>
#include <boost/asio.hpp>
#include <boost/system/error_code.hpp>using namespace std;
using namespace boost::asio;int main(){try{cout << "udp client start ......" << endl;io_service ios;ip::udp::endpoint send_ep(ip::address::from_string("127.0.0.1"), 6699);ip::udp::socket sock(ios);sock.open(ip::udp::v4());char buf[1];sock.send_to(buffer(buf), send_ep);vector<char> v(100, 0);ip::udp::endpoint recv_ep;sock.receive_from(buffer(v), recv_ep);cout << "recv from " << recv_ep.address() << endl;cout << &v[0] << endl;}catch(exception& e){cerr << e.what() << endl;}return 0;
}

运行截图

参考文献

[1].罗剑锋, Boost程序库完全开发指南---深入C++"准"标准库

boost::asio使用UDP协议通信源码实现相关推荐

  1. 多摩川绝对值编码器CPLD FPGA通信源码(VHDL格式+协议+说明书)

    多摩川绝对值编码器CPLD FPGA通信源码(VHDL格式+协议+说明书) 用于伺服行业开发者开发编码器接口,对于使用FPGA开发电流环的人员具有参考价值. 适用于TS5700N8501,TS5700 ...

  2. 全网疯传!Java利用TCP协议实现客户端与服务器通信【附通信源码

    目录 TCP协议概念 ServerSocket类 服务器端程序 客户端程序 Hello!大家好哇!我是灰小猿! 上一篇博客和大家分享了在网络编程中要注意的基础知识,关于IP.TCP.UDP以及端口和套 ...

  3. java socket5源码_Java利用TCP协议实现客户端与服务器通信【附通信源码】

    进行TCP协议网络程序的编写,关键在于ServerSocket套接字的熟练使用,TCP通信中所有的信息传输都是依托ServerSocket类的输入输出流进行的. TCP协议概念 先来了解一下TCP协议 ...

  4. vector can通信源码_CAN总线IMU在自动驾驶安全控制中的应用

    CAN(Controller Area Network)作为一种成熟可靠的车载设备通信标准,在过去30多年中几乎应用于所有的客车和重型车辆,通过低成本的物理层和稳定可靠的传输层可实现总线上的消息传输. ...

  5. linux发送rarp协议,通过源码理解Rarp协议

    导读 rarp是通过mac地址查询ip的协议,主要用于有mac的主机,但是没有ip的情况. rarp协议的格式和arp协议是一样的,他们都是通过一种地址查询另外一种地址.操作系统内维护了一个转换表.定 ...

  6. python3 tcp 通信源码

    tcp套接字 *************************************** from socket import * s=socket() s.setsockopt(SOL_SOCK ...

  7. vector can通信源码_汽车电子CAN网络dbc文件

    CAN网络作为汽车网络已经被广泛使用,随着电子零部件被越来越多的应用到汽车中,零部件之间的通信越来越多,德国vector公司作为行业内的标杆企业,vector公司定义了一套文件规范-----dbc,作 ...

  8. spark学习-33-Spark的RPC通信源码分析

    1.概述 private[spark] trait ThreadSafeRpcEndpoint extends RpcEndpoint 凡是继承RpcEndpoint,都是一个消息通讯体,能接收消息. ...

  9. Java-TCP通信(实现多发多收、群聊功能),BS通信源码

    个人简介 大家好,我是韩慧腾.一名正在努力学JAVA的大一小白,本文章为初学的笔记,希望各位多多指教.

最新文章

  1. matlab一元线性回归分析_建模开讲:一元线性回归分析及SPSS软件实现
  2. Linux的文件权限
  3. 基于MongoDb的S3实现
  4. 企业运维之域控篇(九)--辅助域强制占用后的操作--清除数据
  5. java数组删除数据_Java 数组 之 一维数组 删除 元素
  6. matplotlib画图设置线条透明度
  7. 实操来了!一文告诉你如何用 Streamlit 和 Heroku 开发 Web
  8. inventor如何钣金出弧面_Inventor教程之钣金多规则
  9. mysql8区别_mysql8之与标准sql的区别
  10. matlab的conv2、imfilter、filter2
  11. 教你查看sql server 2000 sp4补丁是否安装成功 (安装补丁后可以远程访问)
  12. java 银联,支付宝接口
  13. Macbook开启HIDPI(2K显示器)
  14. 利用QQ游戏破解QQ密码
  15. 谈谈写博客的意义和感受
  16. matlab方波函数,matlab方波
  17. Processing 入门基础【秒懂小白篇】
  18. 人脸识别对动画无效,迪士尼打造动画专用人脸识别库
  19. Windows下软件提示“没有注册类”问题解决
  20. 跨时钟域问题(二)(单bit信号跨时钟域 1. 电平同步器 2. 边沿同步器 3. 脉冲检测器)

热门文章

  1. mysql数据没有真正提交,转MySQL 批量提交优化
  2. 【Opencv】直方图函数 calchist()
  3. python基础-第九篇-9.3线程池
  4. NET基础(3):is 和 as 操作符
  5. 淘淘经受了一次考验...
  6. ORB_SLAM2概述
  7. usaco Combination Lock
  8. inno setup插件可选安装代码_代码检测工具(sonar docker方式安装)
  9. oracle cdc 提交顺序,Oracle CDC部署流程
  10. php数字截取2位小树,数据结构-PHP 二分搜索树的层序遍历(队列实现)