用ASIO编写UDP通信程序

本文介绍了如何使用ASIO库来编写UDP通信程序。通过示例展示了服务器端和客户端的代码实现,强调了UDP协议基于数据报模式,无需预先建立连接,通过udp::socket的send_to和receive_from方法进行数据传输。
摘要由CSDN通过智能技术生成
 

UDP协议

ASIO的TCP协议通过boost::asio::ip名空间下的tcp类进行通信,举一返三:ASIO的UDP协议通过boost::asio::ip名空间下的udp类进行通信。

我们知道UDP是基于数据报模式的,所以事先不需要建立连接。就象寄信一样,要寄给谁只要写上地址往门口的邮箱一丢,其它的事各级邮局 包办;要收信用只要看看自家信箱里有没有信件就行(或问门口传达室老大爷)。在ASIO里,就是udp::socketsend_toreceive_from方法(异步版本是async_send_to和asnync_receive_from)。

下面的示例代码是从ASIO官方文档里拿来的(实在想不出更好的例子了:-P)

服务器端代码
  1. //
  2. // server.cpp
  3. // ~~~~~~~~~~
  4. //
  5. // Copyright (c) 2003-2008 Christopher M. Kohlhoff
  6. // (chris at kohlhoff dot com)
  7. //
  8. // Distributed under the Boost Software License, Version 1.0.
  9. // (See accompanying
  10. // file LICENSE_1_0.txt or
  11. // copy at http://www.boost.org/LICENSE_1_0.txt)
  12. //
  13. #include <ctime>
  14. #include <iostream>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值