linux+python,udp编程,服务端与客户端相互通信,客户端从键盘接收一段数据发送到服务器,服务器接收数据后将字符转换为大写,服务器将修改后的数据发送到客户端,客户端接收修改后的数据并在其屏幕上显示行
时间: 2024-05-12 18:19:40 浏览: 14
下是一个基本的示例代码,仅供参考:
服务端代码:
```
import socket
# 创建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定到本地端口
server_socket.bind(('127.0.0.1', 8888))
while True:
# 接收客户端数据
data, client_addr = server_socket.recvfrom(1024)
print('Received data from', client_addr, ':', data.decode())
# 将数据转换为大写
upper_data = data.decode().upper()
# 将修改后的数据发送回客户端
server_socket.sendto(upper_data.encode(), client_addr)
```
客户端代码:
```
import socket
# 创建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 从键盘输入数据
data = input('Enter data to send: ')
# 发送数据到服务器
client_socket.sendto(data.encode(), ('127.0.0.1', 8888))
# 接收服务器返回的数据
response, server_addr = client_socket.recvfrom(1024)
print('Received response from', server_addr, ':', response.decode())
# 关闭套接字
client_socket.close()
```
在运行代码之前,需要先在终端中启动服务端程序:
```
$ python3 server.py
```
然后再启动客户端程序:
```
$ python3 client.py
Enter data to send: hello, world
Received response from ('127.0.0.1', 8888) : HELLO, WORLD
```
客户端会从键盘输入一段数据,发送到服务器。服务器接收到数据后,将其转换为大写,并将修改后的数据发送回客户端。客户端接收到服务器返回的数据,并在屏幕上显示。