编写UDP程序,实现在线时间服务器。客户端每秒向服务器发送请求b'ask for time'查询当前时间,服务器接收到程序请求之后反馈当前日期时间字符串
时间: 2024-05-10 14:14:44 浏览: 6
以下是一个UDP时间服务器的示例代码,可以用Python来实现:
服务器端代码:
```python
import socket
import time
# 创建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 9000))
while True:
# 接收客户端请求
data, addr = server_socket.recvfrom(1024)
if data == b'ask for time':
# 获取当前日期时间字符串
time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
# 发送当前日期时间字符串给客户端
server_socket.sendto(time_str.encode(), addr)
```
客户端代码:
```python
import socket
import time
# 创建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
# 发送请求
client_socket.sendto(b'ask for time', ('127.0.0.1', 9000))
# 接收并打印当前日期时间字符串
data, addr = client_socket.recvfrom(1024)
print('Current time is:', data.decode())
time.sleep(1)
```
运行服务器端代码后,再运行客户端代码,即可实现每秒向服务器发送请求查询当前时间,并返回当前日期时间字符串的功能。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)