多语言展示
当前在线:180今日阅读:126今日分享:42

计算机网络技术基础用户数据报协议UDP是什么?

很多小伙伴不知道UDP是什么,经验小编就给大家分享一下,小编个人理解的含义
方法/步骤
1

提起UDP小编要先给大家讲的是“TCP/IP协议”。          而UDP则是“TCP/IP协议”里的传输协议之一。

2

UDP是一个简单的面向数据报的传输层协议          UDP提供无连接、不可靠的服务:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。

3

端口号表示发送进程和接收进程。TCP和UDP用目的端口号来分用来自IP层的数据的过程。TCP端口号与UDP端口号是相互独立的。UDP长度字段指的是 UDP首部和UDP数据的字节长度。该字段的最小值为8字节(发送一份0字节的UDP数据报)。UDP检验和覆盖UDP首部和UDP数据。UDP的检验和是可选的

实现简单的udp请求服务模式
1

服务端代码:# _*_ coding: utf-8 _*_import timefrom socket import *'''创建简单的udp服务端'''# 创建套接字soc = socket(AF_INET, SOCK_DGRAM)# 设置本地地址local_addr = ('', 50000)# 绑定本地地址soc.bind(local_addr)# 进入等待服务模式while True:    # 一次接受的最大字节数为3000    rec_addr, rec_txt = soc.recvfrom(3000)    # 打印接收的结果    print('%s>>%s'%(rec_addr, rec_txt))    # 为避免cpu占用过高,使用延时策略    time.sleep(0.5)

2

客户端代码:# _*_ coding: utf-8 _*_from socket import *import time# 设置服务端和客户端ip和端口信息local_addr = ('', 51000)dest_addr = ('', 50000)while True:    # 创建端口    soc = socket(AF_INET, SOCK_DGRAM)    # 绑定端口    soc.bind(local_addr)    mes = input('请输入需要发送的信息:')    # 发送套接字    soc.sendto(mes.encode('utf-8'), dest_addr)    # 延时策略    time.sleep(0.1)    # 关闭套接字    soc.close()

3

向服务端发送消息5个要点:客户端ip客户端端口服务端ip服务端端口需要发送的信息

4

(注意划重点啦!)容易出错的点:        使用sendto或recvfrom函数的时候,接收到的第一个参数是消息第二个参数是ip和端口信息        window decode参数为gbk(国标码,windows的编码问题一直是个问题 -_- )

5

小编编写技巧:         先把5要点(客户端ip, 客户端端口, 服务端ip, 服务端端口, 需要发送的消息)写好,再创建套接字快速创建udp套接字写法例子:from socket import *# 创建udp套接字,命名为socsoc = socket(AF_INET, SOCK_DGRSM)

注意事项

如果该经验有帮助的话麻烦点个‘赞’谢谢大家啦

推荐信息