我已经创建了一个带登录系统的套接字。下面的代码是我的客户端系统上的登录类。它收到登录成功或用户名/密码错误的消息。 print语句显示这是从服务器获得的,所以我的问题不存在或在服务器部分。当密码错误时,它会重新开始登录,这就是我想要它做的事情。问题是当它是正确的登录时。服务器将成功发送登录,然后打印,但不会打破循环,只会继续询问我的用户名和密码。
def login():
username = str(input("Please enter your username to login: "))
password = str(input("Please enter your password to login: "))
joint =(username+password)
message = hashPW(joint)
s.send(message.encode())
ls = s.recv(1024)
print(ls)
while ls != "Login successfull":
login()
else:
after_choice()
服务器代码:我认为这不是问题所在。我很确定这是与客户端有关,而且我无法正确地将其从循环中分离出来或者其他东西,但我认为id无论如何都要添加它来帮助。
def recive():
password = c.recv(1024).decode()#reciving the password
print("Password from client: ", password)
PWcheck()
def PWcheck():
f= open("passwords.txt")
f1=f.readlines()
if password in f1:
print("Login successfull")
ls =("Login successfull")
c.send(ls.encode())
wait() #just the next class
else:
print("Username or password incorrect")
ls =("Username or password incorrect")
c.send(ls.encode())
recive()
如果有人需要更多代码添加我可以。任何帮助将不胜感激。