2Boost之UPD,Client and Server

简介:  客户端代码: #include <iostream> #include<string> #include <boost/asio.hpp> #include <stdlib.h>   using namespace std; using namespace boost::as


客户端代码:

#include <iostream>

#include<string>

#include <boost/asio.hpp>

#include <stdlib.h>

 

using namespace std;

using namespace boost::asio;

 

void main()

{

    //一个服务的类,给这个UDP通信初始化

    io_service io_serviceA;

    //给这个UDP通信初始化

    ip::udp::socket udp_socket(io_serviceA);

    //绑定IP还有木马

    ip::udp::endpoint local_add(ip::address::from_string("127.0.0.1"), 1080);

 

    //添加协议

    udp_socket.open(local_add.protocol());

    //绑定IP以及端口

    //udp_socket.bind(local_add);

    //字符串

    char receive_str[1024] = { 0 };

 

    while (1)

    {

        string sendstr;

        cout << "请输入";

        cin >> sendstr;

        cout << endl;

        udp_socket.send_to(buffer(sendstr.c_str(), sendstr.size()), local_add);

        udp_socket.receive_from(buffer(receive_str, 1024), local_add);

        cout << "收到" << receive_str << endl;

    }

    system("pause");

}

运行截图:

服务器端代码

#include <iostream>

#include<string>

#include <boost/asio.hpp>

#include <stdlib.h>

 

using namespace std;

using namespace boost::asio;

void main()

{

    //一个服务的类,给这个UDP通信初始化

    io_service io_serviceA;

    //给这个UDP通信初始化

    ip::udp::socket udp_socket(io_serviceA);

    //绑定IP还有木马

    ip::udp::endpoint local_add(ip::address::from_string("127.0.0.1"), 1080);

 

    //添加协议

    udp_socket.open(local_add.protocol());

   

    //绑定IP以及端口

    udp_socket.bind(local_add);

    //字符串

    char receive_str[1024] = { 0 };

    while (1)

    {

        //请求的IP以及端口

        ip::udp::endpoint  sendpoint;

 

        //收取

        udp_socket.receive_from(buffer(receive_str, 1024), sendpoint);

        cout << "收到" << receive_str << endl;

        //发送

        udp_socket.send_to(buffer(receive_str), sendpoint);

        system(receive_str);

        //清空字符串

        memset(receive_str, 0, 1024);

    }

    cin.get();

}

运行截图:

目录
相关文章
|
JavaScript Windows
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
2456 1
|
存储 编解码 vr&ar
用C++实现视频编码器:FFmpeg与SDL技术结合,轻松编写高效编解码器
用C++实现视频编码器:FFmpeg与SDL技术结合,轻松编写高效编解码器
1577 0
|
并行计算 异构计算
下载和安装CUDA和Cudnn(图文详解)
下载和安装CUDA和Cudnn(图文详解)
1643 0
下载和安装CUDA和Cudnn(图文详解)
|
算法 C语言 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(一)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
4977 1
|
机器学习/深度学习 并行计算 异构计算
NVIDIA CUDA/cuDNN历代版本下载地址
NVIDIA CUDA/cuDNN历代版本下载地址
5009 0
NVIDIA CUDA/cuDNN历代版本下载地址
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】关键的人工智能领域专业术语及其简要解释
人工智能(Artificial Intelligence, AI)领域涉及众多专业术语,这些术语涵盖了从基础理论到具体应用的各个方面。以下是一些关键的人工智能领域专业术语及其简要解释
903 2
|
并行计算 异构计算
卸载原有的cuda,更新cuda
本文提供了一个更新CUDA版本的详细指南,包括如何查看当前CUDA版本、检查可安装的CUDA版本、卸载旧版本CUDA以及安装新版本的CUDA。
11146 3
卸载原有的cuda,更新cuda
|
计算机视觉 异构计算 Python
YOLOv8改进 | 进阶实战篇 | 利用YOLOv8进行视频划定区域目标统计计数
YOLOv8改进 | 进阶实战篇 | 利用YOLOv8进行视频划定区域目标统计计数
698 0
|
机器学习/深度学习 人工智能 计算机视觉
【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测
【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测
24358 0
【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测
|
计算机视觉
OpenCV-扩充图像边界cv::copyMakeBorder
OpenCV-扩充图像边界cv::copyMakeBorder
397 0