一、TCP的特点
- 面向连接:通信前需建立连接(三次握手),结束后需断开连接(四次挥手)。
- 可靠传输:通过确认、重传、排序、流量控制和拥塞控制机制,确保数据完整、有序到达。
- 开销较大:由于可靠性机制,头部开销大(20字节起),传输延迟较高。
- 全双工通信:支持双向同时传输。
应用场景
Web 浏览(HTTP/HTTPS)、 电子邮件(SMTP、POP3、IMAP)、 文件传输(FTP、SFTP)、 远程登录(SSH、Telnet)、 数据库连接、 大多数 API 通信(RESTful、gRPC 等)
二、UDP的特点
- 无连接:无需建立连接,直接发送数据报。
- 不可靠传输:不保证送达、不重传、不排序,可能丢包或乱序。
- 低延迟、低开销:头部仅8字节,传输效率高。
- 支持广播/多播:适合一对多通信。
应用场景
- 实时音视频通信(VoIP、视频会议、直播)、 在线游戏 、DNS 查询、 物联网(IoT)设备通信 、流媒体(如 IPTV)、 网络时间协议(NTP) 、DHCP(动态主机配置协议)
三、TCP与UDP的综合比较
|-----------|------------|------------|
| 考量因素 | TCP | UDP |
| 可靠性要求 | 高(不能丢包、错序) | 低(可容忍丢包) |
| 实时性要求 | 较低 | 高(如音视频、游戏) |
| 数据量大小 | 大文件、复杂交互 | 小数据包、频繁短消息 |
| 网络开销容忍度 | 可接受较大开销 | 要求低开销、高效率 |
| 是否需要广播/多播 | 不支持 | 支持 |
四、工具的使用
"工欲善其事,必先利其器。" 在微信小程序中搜索 "嵌入式魔盒",即可在手机或电脑上直接使用该工具进行开发与调试。
在调试 TCP 通信时,请注意以下几点:
- 网络环境要求 :客户端(手机/电脑)与服务端(如开发板或 PC 服务器)必须处于同一局域网内(例如,均连接到同一个路由器)。
- 获取服务端 IP 地址 :在运行服务端的电脑上打开终端(Windows 使用
ipconfig
,macOS/Linux 使用ifconfig
或ip a
),查看本机在局域网中的 IPv4 地址(通常为192.168.x.x
或10.x.x.x
格式)。 - 端口限制说明 :微信小程序出于安全考虑,对可连接的端口号有严格限制。请避免使用常见系统端口,并确保服务端已正确监听该端口。
- 正确配置连接信息 :在"嵌入式魔盒"小程序中填写服务端的 局域网 IP 地址 和 允许使用的端口号,即可建立 TCP 连接并进行调试。
