开发者学堂课程【Python 入门 2020年版:Udp 发送数据 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10459
Udp 发送数据
内容介绍
一.Upd 发送数据代码及解释
二.操作前准备
三. UDP 协议
一.Upd 发送数据代码及解释
1.代码及注释
import socket
//导入 socket 模块
#不同电脑之间的通信需要使用 socket
#socket 可以在不同的电脑问通信;还可以在同一个电脑的不同程序之问通信
#1.创建 socket,并连接
#AFINET: 表示这个 socket 是用来进行网络连接
#SOCK_DGRAM: 表示连接是一个 udp 连接
s=socket.socket(socket.AF INET, socket.SOCKDGRAM)
//前面的 socket 表示文件名,后面的 socket 表示类名
#2.发送数据
#data: 要发送的数据,它是二进制的数据
#address: 发送给谁,参数是一个元组,元组里有两个元素
# 第 0 个表示目标的ip地址,第 1 个表示程序的端口号
#给 192168.31.199 这台主机的 9000 端口上发送了 hello
# 端口号: 0~65536 0~1024 不要用,系统一些重要的服务在使用
#找一个空闲的端口号
s.sendto('hello'.encode('utf8'),('192.168.31.199',9000))
// 发送 hello 给地址为 192.168.31.199 的电脑 192.168.31.199 为要发送消息的地址 9000为端口号
#3.关闭 socket
s.close()
2.说明
用虚拟机进行调试模拟用两台电脑用代码进行通信,将 windows 当作一个电脑,将虚拟机当作另一台电脑使用,运行前要查看两台电脑是否在同一网段上,不在同一网段时要进行调整。
当信息发送后另一台电脑不接收信息会发生丢失,可以用网络调试助手进行监听
3.监听
网络调试助手可以监听服务
调试协议类型 UDP
本机地址 192.168.83.1
监听示例
windows 接收到了虚拟机发来的 hello 信息
二.代码编写流程
创建 socket 使用 s.sendto 方法填入想要发送到的 ip 地址与端口号即可进行发送
三. UDP 协议
1.概念
UDP 是 User Datagram Protocol 的简称,中文名是用户数据报协议。
在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信"。
2.说明
Udp 不在意对方有无监听,有无接收,只管发送