boost::asio序列: UDP 通信

本文介绍了如何使用Boost.ASIO库进行UDP通信,包括同步UDP客户端和服务器的实现,并详细探讨了异步UDP服务器的工作原理,特别强调了异步操作的日志顺序,以帮助理解其工作机制。
摘要由CSDN通过智能技术生成

 为了能够测试,我将原来boost的示例中的端口13更改为60013,因为在13端口为daytime服务的专用端口: 如果强制使用运行时将会导致权限错误(ubuntu16.04)

1. 同步UDP 客户端

#include <iostream>
#include <boost/array.hpp>
#include <boost/asio.hpp>

using boost::asio::ip::udp;

int main(int argc, char* argv[])
{
  try
  {
//    if (argc != 2)
//    {
//      std::cerr << "Usage: client <host>" << std::endl;
//      return 1;
//    }

    boost::asio::io_context io_context;

//    udp::resolver resolver(io_context);
//    udp::endpoint receiver_endpoint =
//      *resolver.resolve(udp::v4(), argv[1], "daytime").begin();

    // 服务器IP 
    udp::endpoint receiver_endpoint(boost::asio::ip::address::from_string("127.0.0.1"), 60013);

    // 打开socket
    udp::socket socket(io_context);
    socket.open(udp::v4());

    // 同步发送数据
    boost::array<char, 1> send_buf  = {
  { 0 }};
    socket.send_to(boost::asio::buffer(send_buf), receiver_endpoi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值