无法正确打破我的插座中的循环

时间:2018-04-22 20:00:37

标签: python loops

我已经创建了一个带登录系统的套接字。下面的代码是我的客户端系统上的登录类。它收到登录成功或用户名/密码错误的消息。 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()

如果有人需要更多代码添加我可以。任何帮助将不胜感激。

0 个答案:

没有答案