- 简述
- UDP介绍请点击此链接-————> TCP/IP协议之————>UDP
- UDP分类
- udp client
- udp server
- 区别
- server:不需要建立连接,也不监听,被动的接收消息,客户端发送消息自带IP,回复消息时,需要加对方IP

- 不主动连接,监听端口,任意方设置好目标IP和端口就可以发送数据;双向通信

- server:不需要建立连接,也不监听,被动的接收消息,客户端发送消息自带IP,回复消息时,需要加对方IP
- ESP有三种工作模式
- 0x01: Station 模式 只能连接路由器,不能被其他设备连接,比如用于UDP通信
- 0x02: SoftAP 模式 自身是个路由器,可以被其他设备连接
- 0x03: Station+SoftAP 模式 即可连接他人,也可被他人连接
- 初始化流程
- 设置ESP8266工作模式
- IP地址设置
- 动态IP:默认为DHCP方式
- 静态IP:关闭DHCP,设置IP、网关、子网
- 设置WIFI用户名/密码
- 保存设置信息
- ESP8266获取IP地址
- 初始化UDP通信网络
- 设置通信协议
- 开辟内存
- 目标主机IP信息、端口
- 注册发送回调函数
- 注册接收回调函数
- 初始化UDP通信
- 例程
- user_main.c
void ICACHE_FLASH_ATTR user_init(void) { u8 F_Led = 0; //Led状态标志位 u8 led_count; //led闪烁计数 uart_init(115200,115200); //设置串口1,串口2波特率为115200 os_printf("\r\n--------------------------------------------\r\n"); os_printf("SPT SDK Project: %s \r\n", ProjectName); //打印项目名称 os_printf("SPT SDK version: %s \r\n", system_get_sdk_version()); //打印版本信息 os_printf("\r\n--------------------------------------------\r\n"); // OLED显示初始化 //-------------------------------------------------------- OLED_Init(); // OLED初始化 OLED_ShowString(0,0,"ESP8266 = STA"); // ESP8266模式 OLED_ShowString(0,2,"IP:"); // ESP8266_IP地址 OLED_ShowString(0,4,"Remote = STA"); // 远端主机模式 OLED_ShowString(0,6,"IP:"); // 远端主机IP地址 //-------------------------------------------------------- LED_Init(); //led初始化 ESP8266_STA_Init_UDP(); //UDP初始化 OS_Timer1_Init_UDP(1000, 1); //软件定时器,1S调用次回调函数,检查有没有连接到WiFi } - user_udp.c
// 头文件引用 //============================================================================== #include "driver/oled.h" //oled屏 #include "driver/user_udp.h" #include "driver/led.h" //============================================================================== // 宏定义 //============================================================================= os_timer_t os_timer_1; //定时器,回调用 struct espconn UDP_NetCon; //网络连接结构体 //============================================================================= // UDP相关函数 //============================================================================== //esp8266初始化,自动分配IP,连接路由器 void ICACHE_FLASH_ATTR ESP8266_STA_Init_UDP(void) { struct station_config STA_Config; //STA 参数结构体 struct ip_info ST_ESP8266_IP; //STA信息结构体 //STA模式下的IP地址,默认开启DHCP,接入WiFi自动分配IP wifi_set_opmode(0x01); //设置为STA模式,并保存到Flash /* // 设置STA模式下的IP地址【ESP8266默认开启DHCP Client,接入WIFI时会自动分配IP地址】 //-------------------------------------------------------------------------------- wifi_station_dhcpc_stop(); // 关闭 DHCP Client IP4_ADDR(&ST_ESP8266_IP.ip,192,168,8,88); // 配置IP地址 IP4_ADDR(&ST_ESP8266_IP.gw,192,168,8,1); // 配置网关地址 IP4_ADDR(&ST_ESP8266_IP.netmask,255,255,255,0); // 配置子网掩码 wifi_set_ip_info(STATION_IF,&ST_ESP8266_IP); // 设置STA模式下的IP地址 */ //结构体赋值,配置STA模式参数 os_memset(&STA_Config, 0, sizeof(struct station_config)); //sta参数结构体=0; os_strcpy(STA_Config.ssid, ESP8266_STA_SSID); //配置wifi名 os_strcpy(STA_Config.password, ESP8266_STA_PASS); //配置wifi密码 wifi_station_set_config(&STA_Config); //设置sta参数,并保存到flash } //发送网络数据的回调函数 void ICACHE_FLASH_ATTR EP8266_STA_UDP_Send_cb(void *arg) { os_printf("\r\nESP8266 WiFi 发送成功\r\n"); } //接收网络数据的回调函数 void ICACHE_FLASH_ATTR EP8266_STA_UDP_Rcev_cb(void *arg, char *pusrdata, unsigned short length) { struct espconn *pesp_conn = arg; //缓存网络连接结构体指针 remot_info *premot = NULL; //定义远端连接信息指针 os_printf("\nESP8266_Receive_Data = %s\n",pusrdata); // 串口打印接收到的数据 if (espconn_get_connection_info(pesp_conn, &premot, 0) == ESPCONN_OK) //获取远端IP、端口信息 { pesp_conn->proto.udp->remote_port = premot->remote_port; //获取对方端口号 pesp_conn->proto.udp->remote_ip[0] = premot->remote_ip[0]; //获取对方IP地址 pesp_conn->proto.udp->remote_ip[1] = premot->remote_ip[1]; pesp_conn->proto.udp->remote_ip[2] = premot->remote_ip[2]; pesp_conn->proto.udp->remote_ip[3] = premot->remote_ip[3]; } //液晶屏IP地址显示 //-------------------------------------------------------------------------------- OLED_ShowIP(24, 6, pesp_conn->proto.udp->remote_ip); //显示远端主机IP地址 //-------------------------------------------------------------------------------- espconn_send(pesp_conn, pusrdata, os_strlen(pusrdata)); //向对方发送应答 } //初始化网络通信udp void ICACHE_FLASH_ATTR ESP8266_STA_NetConnect_UDP(void) { //结构体赋值 //-------------------------------------------------------------------------------- UDP_NetCon.type = ESPCONN_UDP; //通信协议设置为UDP UDP_NetCon.proto.udp = (esp_udp *)os_zalloc(sizeof(esp_udp)); //开辟内存 //设置目标IP、端口,ESP8266作为Client,需要预先知道Server的IP、端口 UDP_NetCon.proto.udp->local_port = 6354; //设置本地端口 UDP_NetCon.proto.udp->remote_port = 6354; //设置目标端口 UDP_NetCon.proto.udp->remote_ip[0] = 192; //目标IP地址 UDP_NetCon.proto.udp->remote_ip[1] = 168; UDP_NetCon.proto.udp->remote_ip[2] = 0; UDP_NetCon.proto.udp->remote_ip[3] = 103; //注册回调函数 espconn_regist_sentcb(&UDP_NetCon, EP8266_STA_UDP_Send_cb); //注册网络数据发送成功的回调函数 espconn_regist_recvcb(&UDP_NetCon, EP8266_STA_UDP_Rcev_cb); //注册网络数据接收成功的回调函数 //建立UDP传输 espconn_create(&UDP_NetCon); //主动向UDP_Server发送信息 espconn_send(&UDP_NetCon, "Hi,WiFi", os_strlen("Hi,WiFi")); //向对方发送消息 } //============================================================================== //软件定时器 //软件定时的回调函数 void ICACHE_FLASH_ATTR os_timer1_cb(void) { u8 led_count; //led闪烁计数 struct ip_info STA_ESP8266_IP; //ip信息 u8 ESP8266_IP[4]; //存放8266的IP地址 //接入成功,自动分配IP, if(wifi_station_get_connect_status() == STATION_GOT_IP) { wifi_get_ip_info(STATION_IF, &STA_ESP8266_IP); //获取STA的IP信息 ESP8266_IP[0] = STA_ESP8266_IP.ip.addr; // IP地址高八位 == addr低八位 ESP8266_IP[1] = STA_ESP8266_IP.ip.addr>>8; // IP地址次高八位 == addr次低八位 ESP8266_IP[2] = STA_ESP8266_IP.ip.addr>>16; // IP地址次低八位 == addr次高八位 ESP8266_IP[3] = STA_ESP8266_IP.ip.addr>>24; // IP地址低八位 == addr高八位 //oled上显示IP地址 //----------------------------------------------------------------------------------------------- os_printf("ESP8266_IP = %d.%d.%d.%d\n",ESP8266_IP[0],ESP8266_IP[1],ESP8266_IP[2],ESP8266_IP[3]); OLED_ShowIP(24,2,ESP8266_IP); // OLED显示ESP8266的IP地址 //----------------------------------------------------------------------------------------------- //接入WIFI成功,led快闪3次 for(led_count = 0; led_count<6; led_count++ ) { LED_ON; os_delay_ms(100); LED_OFF; os_delay_ms(100); } os_timer_disarm(&os_timer_1); //入网成功,关闭定时器 ESP8266_STA_NetConnect_UDP(); //建立UDP连接 } } //软件定时器,1S调用次回调函数,检测设备有无连接到WiFi void ICACHE_FLASH_ATTR OS_Timer1_Init_UDP(u32 ms, bool flag) { //关闭软件定时器 os_timer_disarm(&os_timer_1); //设置定时器 //参数1:设置的定时器 //参数2:回调函数,需要强制类型转换 //参数3:回调函数参数 os_timer_setfn(&os_timer_1, (os_timer_func_t *)os_timer1_cb, NULL); //启动定时器 //参数1:使能的定时器 //参数2:定时时长 //参数3:1重复,0只用一次 os_timer_arm(&os_timer_1, ms, flag); // 【如未调用system_timer_reinit,可支持范围:[5ms ~ 6,870,947ms]】 // 【如果调用system_timer_reinit,可支持范围:[100ms ~ 428,496 ms]】 } //==============================================================================
- user_main.c
- 总结:
- 回调函数
- 文档资料:
- ESP8266 Non-OS SDK API参考
- ESP8266 技术参考手册
- 工具篇:
- 编译器:安信可一体化开发环境(Eclipse),需要安装JAVA环境
- 烧录工具:flash_download_tools_v3.6.6.zip
- http://wiki.ai-thinker.com/tools
- 固件
- AT指令:通过串口发送AT指令(串口数据)到ESP8266
- SDK编程:8266内部集成了32bit的处理器,通过SDK编程实现所需功能
- 分类:带RTOS的SDK和不带RTOS的SDK
- SDK版本:ESP8266_NONOS_SDK 2.2.0
- 硬件平台
- 技新 物联网开发板_ESP8266_V1.0
- 安信可 ESP8266模块:ESP12F
- 电源:3.3V
- 晶振:26Mhz
- 外部Flash:4MB = = 32Mbit
- 4MB Flash => 0x000 000 ~ 0x3FF FFF
- 扇区编号:0x000~0x3FF【Flash扇区 == 4KB】
- 外部射频电路:PCB板载天线
- 参考资料:
相关推荐
ESP8266--基于Non-OS SDK基本通信开发
最近使用ESP8266提供的Non-OS SDK包进行了ESP8266一些基本通信的开发。Non-OS SDK是不基于操作系统的SDK,提供IOT_Demo和AT的编译。Non-OS SDK主要使⽤定时器和回调函数的⽅式实现各个功能事件的嵌套,达到特定条件下触发特定功能函数的⽬的。Non-OS SDK使⽤espconn接⼝实现⽹络操作,⽤户需要按照espconn接⼝的使⽤规则进⾏软件...
ESP8266--SDK开发(UDP客户端)
【代码】ESP8266--SDK开发(UDP客户端)
ESP8266 Station模式UDP通信全栈配置指南
UDP是一种无连接、低开销的传输层协议,广泛应用于嵌入式物联网场景,尤其适合资源受限的MCU设备进行实时数据上报与远程控制。其核心原理在于跳过TCP的三次握手与状态维护,以牺牲可靠性换取确定性延迟和极小内存占用。在ESP8266开发中,Station(STA)模式是主流部署方式——设备作为客户端接入路由器,依赖DHCP获取IP并与其他局域网设备通信,这要求IP地址与子网掩码必须与PC等终端处于同一逻辑子网。实际工程中需严格遵循事件驱动流程:Wi-Fi连接成功后,须等待IP_EVENT_STA_GOT_IP事
局域网内使用UDP广播方式搜索wifi模块的使用说明
因为模块的IP地址是由路由器分配的,不是确定IP地址,所以PC或者手机无法与模块建立连接,故需要采用广播搜索,获取到模块在STA模式的IP地址。1.通过UDP广播(广播地址: xx.xx.xx.255,端口: 48899)发送一个口令,默认口令为: "HF-A11ASSISTHREAD",该口令可用AT+ASWD命令设置,最长20字节。4.进入连接状态后,模块可以正常接收网络AT指令,另外工具需要在1分钟内发送一个指令,如用户没有指令输入,则发送AT+W以保持连接状态。5.用AT+Q命令退出连接状态。
esp8266 接收udp广播_ESP8266_21基于ESP8266的一键配网
这一节,说一下一键配网的用法。首先说为什么需要一键配网?原因很简单,因为设备要上网。那,给那些设备配一个屏幕和一个输入设备行不行?不是不可以,对那些成本没要求的设备是没问题的。但物联网设备大部分都是一些简单的监测、通信设备,需要的数量又很多,基本配置好以后放在那里就没人动了。所以给这样的设备添加屏幕和输入设备,在资源上是很大的浪费。举个例子,我之前买过一个小度音箱(低配版,非广告~),使...
基于matlab的车牌识别(含子程序)
基于matlab的车牌识别系统一、对车辆图像进行预处理1.载入车牌图像:function [d]=main(jpg) [filename, pathname] = uigetfile({'*.jpg', 'JPEG 文件(*.jpg)'}); if(filename == 0), return, end global FILENAME %定义全局变量 FILENAME = [pathname f...
快速实现WIFI UDP通信详解
ESP8266通过UDP和对端通信一、本例程实现功能二、 Core提供的UDP功能介绍三、接线图五、完整代码(通过IP地址和对端进行通信)代码运行结果 UDP协议实现简单,有时我们仅需要在网络中和对端建立简单的数据通信,对数据收发的可靠性要求不是太高,或者我们在应用层会保证数据收发的可靠性时,我们可以采用UDP方式进行通信即可。 一、本例程实现功能 通过ESP8266模块和指定的对端进行UDP通信,ESP8266每5秒向对端发送一个数据包(5字节),对端每3秒钟向ESP8266发送一个数据包(8字节)。
Token验证绕过 靶场实战
实验介绍 1.漏洞简介 在Web领域基于Token的身份验证随处可见。在大多数使用Web API的互联网公司中,tokens 是多用户下处理认证的最佳方式。 具有以下几点特性: 1)无状态、可扩展 2)支持移动设备 3)跨程序调用 4)安全 2.原理基于Token的验证原理 基于Token的身份验证是无状态的,我们不将用户信息存在服务器或Session中。 NoSession意味着你的程序可以根据需要去增减机器,而不用去担心用户是...
ESP8266_11 ESP8266的UDP广播
ESP8266_01搭建开发环境 ESP8266_02程序的编译与下载 ESP8266_03SDK与Makefile的基本用法 ESP8266_04管脚控制与软件定时器 ESP8266_05 ESP8266有几个串口? ESP8266_06硬件定时器与IO中断 ESP8266_07基于PWM的呼吸灯 ESP8266_08基于flash的数据掉电保护 ESP8266_09基于IIC控...
基于Spring Boot在线远程考试系统的设计与实现
结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。
电子电气架构 --- 整车电源管理
保证启动能力:防止因电池电量耗尽而导致的车辆无法启动,这对于确保车辆在任何时候都能可靠运行至关重要。 延长电池寿命:通过避免电池深度放电,有助于延长其使用寿命,减少更换电池的需求和成本。 提升用户体验:虽然负载被关闭可能会暂时影响舒适度,但通过在必要时自动采取行动,可以减少驾驶员的焦虑和不确定性,提高整体的用户满意度。
WiFi模块 ESP8266-01S的使用
WiFi模块 ESP8266-01S的使用
使用STARTER V5.6软件将项目文件下载到S120驱动器控制单元CF卡中的具体方法演示
使用STARTER V5.6软件将项目文件下载到S120驱动器控制单元CF卡中的具体方法演示
<ESP8266>WIFI模块AT指令浅学
下面记录一下作为 WIFI 模块去使用所需要了解的 AT 指令。大致主要分为: 主要需要掌握的有:基础 命令很多,但大部分的使用都不是很多,大多使用的就一个 命令,用于测试 启动。Wi-Fi 的三种模式:命令: 响应: 2、设置命令:设置 ESP 设备的 Wi-Fi 模式 命令: 响应: 示例: 例1:Station 模式下 TCP serve ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制 例2:SoftAP 模式下 TCP serve ESP8266模块作为热
化工过程设计软件:Aspen Plus二次开发_(2).二次开发概述
假设我们需要创建一个自定义的换热器模型,该模型能够计算两个物流之间的热交换量,并根据传热系数和换热面积进行调整。ACM 模型代码示例!自定义换热器模型!参数:传热系数 U (W/m^2·K)!换热面积 A (m^2)!热物流 T_hot_in (K), T_hot_out (K), F_hot (kmol/h)!冷物流 T_cold_in (K), T_cold_out (K), F_cold (kmol/h)!模型输入!U - 传热系数!A - 换热面积!
前端build工程的时候 出现 `build.rollupOptions.external 的解决方法
看到这个Bug,理性分析: 遇到 Rollup failed to resolve import “@vue/devtools-api” 错误可能是由于 Pinia 使用了 @vue/devtools-api 模块,而 Vite 的 Rollup 插件无法解析这个模块 ps:但是我前一秒还可以,加了个别代码,突然不行,我是不相信的 = - =
esp8266 接收udp广播_ESP8266的UDP广播
先来看看ESP8266的UDP通讯,主要看它的广播模式。说这个,需要先了解UDP通讯是什么?说到UDP,伴随而来的还有另一个东西,就是TCP。这里不说定义,只说应用。简单来说,这两者都是网络最主要的区别,TCP通讯比较稳定,它和接收端要进行三次握手,接收端有没有收到数据,都能知道。优点是安全,缺点是和UDP相比,速度慢。UDP在发送时,不管有没有接收方,也不管接收方有没有收到,只要把数据发出去,就...
uniapp - 强力解决 swiper 轮播图内嵌套视频导致滑动不流畅卡顿问题,轮播滑块视图容器里既有图片也有视频video组件共同存在出现滑动切换特别卡,轮播组件包裹视频播放器加载慢及层级过高解决
uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,swiper,轮播图,轮播图嵌套视频,卡顿,加载慢,左右滑动不流畅,很卡,滑动过快就会卡住,uniapp使用swiper组件里嵌套视频与图片如何解决卡顿问题,详细解决教程,swiper里有视频video,播放器,视频+图片轮播,层级过高及卡顿问题,没等看完视频就自动切换了,报错,无法加载播放,uniapp的App安卓苹果端,video老是加载,APP端video组件播放视频卡顿,抖音,快手,上下滑动视
esp8266 airkiss联网进行TCP,UDP通信服务
esp8266是一块很火的wifi模块,本文讲的是以esp8266作为服务器,PC作为客户端通信的。esp8266是在station模式的。SDK的版本号是ESP8266_NONOS_SDK-2.2.0. 在嵌入式的设备联网过程中,最大的痛点是联网要输入账号和密码。而多少的嵌入式设备是没有GUI的。本文用的是airkiss通信协议。airkiss可以用在没有显示器交互的嵌入式设备联...
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
esp8266 接收udp广播_ESP8266_11 ESP8266的UDP广播
上一节说的是ESP8266的station模式,但这个模式讲的比较枯燥,既没有实现什么酷炫的应用,也没有引申出什么好玩的功能。别急,我想想…这一节先看看ESP8266的UDP通讯,主要看它的广播模式。说这个,需要先了解UDP通讯是什么?说到UDP,伴随而来的还有另一个东西,就是TCP。这里不说定义,只说应用。简单来说,这两者都是网络通信中常用的通信协议。最主要的区别,TCP通讯比较稳定,它和接收端...
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
STM32连接WIFI-ESP8266实战---AP模式运用
1.ESP8266 WIFI模块初解? ESP8266 是一种采用串口与 MCU(或其他串口设备)通信,内置 TCP/IP协议栈,能够实现串口与 WIFI 之间的转换的模块。该模块只需要简单的串口配置,便可通过网络(WIFI)传输自己的数据,同时支持多种模式的数据传输方案。 2.ESP8266 WIFI模块三种模式 该模块支持三种数据传输模式,即:串口转WIFI STA模式、串口转AP模...
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
ESP8266 SDK开发篇(二)——连接wifi
ESP8266 NONOS_SDK开发——如何连接wifi
ESP8266WIFI模块了解一下(新手入门级别)
安信可ESP8266WIFI模块了解一下 ESP8266是有乐鑫公司开发的一套高度集成的WIFI芯片,可以方便进行而二次开发。乐鑫是ESP8266的芯片厂商,安信可是依据ESP8266生产模组,并提供一系列开发方案的厂家。 接下来我将和大家分享一下我对安信可ESP8266使用的见解 首先你得明确你是用它来干什么 大致可以分为两种: -使用模块 将芯片作为一个WIFI模块,不...
STM32物联网实战教程(一)—ESP8266的AT指令集详解
介绍各种网络通信协议之前我们必须保证硬件设备先连接到网络才行,联网的方式有很多种,比如通过网线联网、GPRS 联网(SIM 流量业务)、或者家中 WIFI 路由器联网。这常 用的三种方式只不过是硬件层不同而已,其内置的都是 TCP/IP 网络协议,其中最方便、成 本最低的联网方式是 WIFI 联网。 WIFI 射频芯片的供应商市面上有很多,常见的比如乐鑫,博通,瑞昱,德州仪器(TI)、庆科等。ESP8266 的特点的就是价格便宜、资料齐全,支持 SDK 开发和 AT 开发。其中 SDK 开发可以省.
ESP8266怎么连接MYSQL_ESP8266使用详解(AT,LUA,SDK)
ESP8266 SDK开发:ESP8266 LUA脚本语言开发:ESP8266 AT指令开发(基于51单片机):W5500 学习开发:三菱PLC学习开发:Android学习开发:MySql数据库基础入门:OpenResty 基础:网页/网站入门:云服务器配置入门:域名备案,SSL刷固件什么的参考自己别的文章哈,亲们可以自己下载下来看一下还发现,自己用串口模块的3.3V给模块供电模块不能工作,,所以...
esp8266 接收udp广播_ESP8266_11局域网环境下的UDP广播
这一节先看看ESP8266的UDP通讯,主要看它的广播模式。说这个,需要先了解UDP通讯是什么?说到UDP,伴随而来的还有另一个东西,就是TCP。这里不说定义,只说应用。简单来说,这两者都是网络通信中常用的通信协议。最主要的区别,TCP通讯比较稳定,它和接收端要进行三次握手,接收端有没有收到数据,都能知道。优点是安全,缺点是和UDP相比,速度慢。UDP在发送时,不管有没有接收方,也不管接收方有没有...
1215



被折叠的 条评论
为什么被折叠?



