.编写UDP程序,实现在线时间服务器。客户端每秒向服务器发送请求b'ask for time'查询当前时间,服务器接收到程序请求之后反馈当前日期时间字符串。
时间: 2024-05-10 21:14:42 浏览: 29
头歌UDP Ping程序实现-客户端向服务器发送消息并接收消息.txt
以下是基于Python的UDP在线时间服务器程序:
服务器端代码:
```python
import socket
import datetime
# 创建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP地址和端口号
ip_port = ('127.0.0.1', 9999)
server_socket.bind(ip_port)
while True:
# 接收客户端请求
data, addr = server_socket.recvfrom(1024)
# 获取当前时间
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# 发送当前时间给客户端
server_socket.sendto(now.encode(), addr)
```
客户端代码:
```python
import socket
# 创建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 服务器IP地址和端口号
ip_port = ('127.0.0.1', 9999)
while True:
# 向服务器发送请求
client_socket.sendto(b'ask for time', ip_port)
# 接收服务器响应
data, addr = client_socket.recvfrom(1024)
# 打印当前时间
print('Current Time:', data.decode())
```
运行服务器端程序后,再运行客户端程序,即可不断查询当前时间。
阅读全文