编写一个简单的UDP会话
时间: 2023-06-14 14:05:28 浏览: 64
好的,下面是一个简单的UDP会话的示例代码:
服务器端:
```
import socket
# 创建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP地址和端口号
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
while True:
# 接收客户端请求
message, client_address = server_socket.recvfrom(1024)
print('Received message:', message.decode())
# 发送响应给客户端
response = 'Hello, client!'
server_socket.sendto(response.encode(), client_address)
```
客户端:
```
import socket
# 创建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送请求给服务器
server_address = ('127.0.0.1', 8888)
message = 'Hello, server!'
client_socket.sendto(message.encode(), server_address)
# 接收服务器响应
response, server_address = client_socket.recvfrom(1024)
print('Received response:', response.decode())
# 关闭连接
client_socket.close()
```
在这个示例中,服务器使用`socket.socket()`创建了一个UDP套接字,并使用`socket.bind()`绑定了IP地址和端口号。服务器使用一个无限循环来接收客户端请求,使用`socket.recvfrom()`接收客户端消息,然后使用`socket.sendto()`发送响应消息给客户端。
客户端使用`socket.socket()`创建了一个UDP套接字,并使用`socket.sendto()`发送请求消息给服务器。客户端使用`socket.recvfrom()`接收服务器响应,然后关闭连接。
需要注意的是,在UDP会话中并不会像TCP那样建立连接,因此服务器和客户端可以自由地发送和接收消息,没有先后顺序的限制。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)