第1关:UDP 初体验
任务描述
本关任务:完成一个客户端程序,向服务器端发出请求,传输数据,并设置超时丢包,体验 UDP 的基本连接过程。
相关知识
为了完成本关任务,你需要掌握:
创建socket对象;
发送 UDP 数据;
接收 UDP 数据;
设置超时。
创建socket对象
创建socket对象是第一步,后续所有的操作都是通过socket对象完成的。创建对象使用socket()函数:
s=socket(参数1,参数2) #s就是创建的socket对象
参数1通常为:
AF_INET:面向网络
AF_UNIX:面向文件
参数2通常为:
SOCK_STREAM:面向连接的 TCP 套接字
SOCK_DGRAM:面向 UDP 的无连接套接字
发送UDP数据
UDP 中一般使用socket对象的sendto(message , address)函数发送数据到某个地址:
s.sendto(message, addresss)
message表示待发送的信息。在网络中数据传输使用二进制的形式,因此message是bytes类型对象,我们可以使用encode()函数将字符串类型的数据编码成二进制。
在 AF_INET 下,通常以元组host, port的形式表示address,分别代表服务器端 IP 地址和端口号。
s 为你所创建的socket对象。
import socket