用python编写客户端与服务器程序:客户端从名为“pswd.txt”的文件中读取密码,把密码发送到服务器程序,显示服务器的返回结果;服务器接受来自客户端发送的密码,显示客户端的socket信息(IP地址,端口号),验证密码是否正确(正确密码是“123456”),密码正确发送“correct”,否则返回“false”。
时间: 2023-12-23 20:06:32 浏览: 79
这个问题与之前的问题相似,只是客户端和服务器端的代码需要进行一些修改。以下是示例代码:
服务器端代码:
```python
import socket
def main():
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('127.0.0.1', 8888))
# 监听端口号
server_socket.listen(5)
print('等待客户端连接...')
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('客户端已连接,地址为:', client_address)
# 接收客户端发送的密码
password = client_socket.recv(1024).decode()
# 验证密码
if password == '123456':
client_socket.send('correct'.encode())
else:
client_socket.send('false'.encode())
# 关闭socket连接
client_socket.close()
if __name__ == '__main__':
main()
```
客户端代码:
```python
import socket
def main():
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('127.0.0.1', 8888))
# 读取密码文件
with open('pswd.txt', 'r') as f:
password = f.read().strip()
# 发送密码
client_socket.send(password.encode())
# 接收服务器返回的结果
result = client_socket.recv(1024).decode()
# 显示服务器返回的结果
print('服务器返回结果:', result)
# 显示客户端socket信息
print('客户端socket信息:', client_socket.getsockname())
# 关闭socket连接
client_socket.close()
if __name__ == '__main__':
main()
```
以上代码可以实现客户端发送密码到服务器端,服务器端验证密码是否正确,并返回结果给客户端,最后客户端显示服务器返回的结果和客户端socket信息。
阅读全文