用python写1、 设计一个信息系统,系统必须通过客户端录入账号口令远程登录; 2、 登录后客户端可通过键盘输入向服务器发送数据; 3、 服务器端设置嗅探关键字,如果客户端发送的数据包含该关键字,即将该数据显示出来。
时间: 2024-05-05 12:17:24 浏览: 5
以下是一种可能的实现方式:
服务器端代码:
```
import socket
# 设置嗅探关键字
KEYWORD = "password"
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_socket.bind(("localhost", 8888))
# 监听端口
server_socket.listen(1)
print("服务器已启动,等待客户端连接...")
# 等待客户端连接
client_socket, client_address = server_socket.accept()
print("客户端已连接:", client_address)
# 接收客户端发送的数据
while True:
data = client_socket.recv(1024).decode()
if not data:
break
print("收到数据:", data)
if KEYWORD in data:
print("关键字匹配成功!")
client_socket.sendall("已收到数据".encode())
# 关闭连接
client_socket.close()
server_socket.close()
```
客户端代码:
```
import socket
# 输入账号和口令
username = input("请输入账号:")
password = input("请输入口令:")
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(("localhost", 8888))
print("已连接服务器")
# 发送登录信息
login_data = f"{username}:{password}"
client_socket.sendall(login_data.encode())
# 接收服务器响应
response = client_socket.recv(1024).decode()
print("服务器响应:", response)
# 发送数据
while True:
data = input("请输入要发送的数据:")
if not data:
break
client_socket.sendall(data.encode())
response = client_socket.recv(1024).decode()
print("服务器响应:", response)
# 关闭连接
client_socket.close()
```
注意:上述代码仅为示例,可能存在安全漏洞,不应用于生产环境。实际使用时应考虑加密、验证等安全措施。