掌控板: UDP的那些事儿(一) -- 漫谈通“信”

2019-12-046528
AI 快速预览详细 收起
本文介绍了掌控板通过UDP协议进行网络数据传输的基本方法。首先定义UDP模式,然后绑定IP地址和端口号,接着编码数据并发送到指定的IP地址和端口号。接收方定义UDP模式后,接收数据并解码。通过这些步骤,可以轻松实现数据的传输。文章通过信件类比,详细解释了UDP通信的具体步骤,帮助初学者理解并实践。


掌控板带有wifi功能,可以通过连接wifi,利用网络进行数据间的相互传输。
在掌控板的固件中,通过网络进行数据传输,一般会通过 socket 模块来进行相关设置。具体的通信协议,又分为两种,TCP和UDP。此次,我们来简单聊聊UDP的那些事儿

官方定义:UDP(User Datagram Protocol,用户数据报协议)是一种无连接、不可靠、基于数据报的传输层通信协议。

数据要相互传输,自然就有发送方和接受方,好比写信,有收件人和寄件人。

掌控板: UDP的那些事儿(一) -- 漫谈通“信”图1

发送:
写信,准备通过邮局传递
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)   (定义UDP模式)

信封上要写上寄件人的姓名和地址,方便对方回信
s.bind(("IP", PORT))               (绑定 IP 地址和 PORT 端口号)

信件的内容就是要传递的数据
data.encode("utf-8")               (字节类型)

投递信件,信封上写明收件人和收件地址
s.sento(data, ("IP", PORT))     (发送数据到接收方(指定 IP 地址和 PORT 端口号))

掌控板: UDP的那些事儿(一) -- 漫谈通“信”图2

掌控板: UDP的那些事儿(一) -- 漫谈通“信”图5

接受:
收件人收到信件
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)   (接收方定义UDP模式)

收件人拆开信件
r = s.recvfrom(1024)   (接收1024字节的数据, 元祖,其中有 数据 和 发送方的IP地址和端口号)

收件人阅读信件内容
data = r[0].decode("utf-8")

掌控板: UDP的那些事儿(一) -- 漫谈通“信”图3

掌控板: UDP的那些事儿(一) -- 漫谈通“信”图4

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
rzyzzxw
rzyzzxw
高级啊,豪
- 没有更多了 -