使用原始socket()实现一个C/S架构的应用,支持服务器时间回显示; 要求:从客户端发送命令,接收服务器的时间并显示到终端
时间: 2024-05-16 07:14:34 浏览: 20
以下是一个基本的C/S架构的应用,支持从客户端发送命令,接收服务器的时间并显示到终端。请注意,此示例代码仅用于演示目的,不应用于生产环境。
服务器端代码:
```python
import socket
import datetime
HOST = '127.0.0.1'
PORT = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
elif data.decode() == 'time':
now = datetime.datetime.now()
conn.sendall(now.strftime("%Y-%m-%d %H:%M:%S").encode())
else:
conn.sendall(b'Invalid command')
```
客户端代码:
```python
import socket
HOST = '127.0.0.1'
PORT = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
while True:
command = input('Enter command (time): ')
s.sendall(command.encode())
data = s.recv(1024)
print('Received', repr(data.decode()))
```
要运行此代码,请先在终端中启动服务器端代码:
```
$ python server.py
```
然后在另一个终端中启动客户端代码:
```
$ python client.py
Enter command (time): time
Received '2022-02-22 22:22:22'
Enter command (time):
```
在客户端中输入“time”命令,服务器将返回当前时间并显示在客户端终端中。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](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)