回顾
在《Python进阶记录之网络编程(二)》中,我们介绍了UDP端口号的基本概念和作用以及Python中UDP服务端的端口绑定和简单创建。今天我们利用UDP server和UDP client实现简单的点对点聊天。
在之前的内容中,我们一直借助sokit网络通信调试助手来测试我们编写的UDP server或UDP client的通信能力,实际上,我们可以分别编写一个UDP server和一个UDP client,让服务端和客户端互相之间进行网络通信。
实现UDP server
我们使用socket模块的socket( )方法创建一个socket对象,由于是基于UDP协议的,所以我们传入类型Type为SOCK_DGRAM。通过上一节的内容,我们知道,服务端的端口必须是唯一的,因此我们需要通过调用socket对象的bind( )方法来指定服务端的端口号。
![df2b4320d581b27f64454dbcdb2403ec.png](https://i-blog.csdnimg.cn/blog_migrate/1f795ade2a348c593dac4c08fca23191.jpeg)
UDP server代码
我们不固定ip,指定端口号为“12345”,这与之前我们实现过的UDP server基本保持一致。为了可以一直收发消息,我们使用while循环。这里我们指定服务端首先接收客户端的消息,因此,我们需要首先接收数据。我们已经知道,recvfrom( )方法返回一个元组,包括数据内容与发送方的地址信息,我们用data和address进行接收。为了使程序能够正常终止,我们