Я использую python на Mac, и по какой-то причине соединение отклоняется, когда я пытаюсь запустить сервер. Вот код для клиента и сервера. Я пытаюсь сделать так, чтобы пользователь мог войти в систему входа через клиентскую часть. Я также хотел бы иметь возможность сделать так, чтобы при входе пользователя в учетную запись его пароль автоматически сохранялся в текстовом документе. Кто-нибудь знает, как я могу это сделать? Спасибо за прочтение.
Код клиента:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("Waiting for connection")
s.connect(('127.0.0.1', 4000))
data = s.recv(1024).decode()#max number of bytes recv
print ("data from server", data)
message = str(input("Send: ->"))
s.send(message.encode())
s.close()
input("\n\n press enter to close")
users = {}
status = ""
def displayMenu():
status = input("Are you registered user? Please write yes or no. Press q to quit")
if status == "yes":
oldUser()
elif status == "no":
newUser()
def newUser():
createLogin = input("Create login name: ")
if createLogin in users:
print("\nLogin name already exist!\n")
else:
createPassw = input("Create password: ")
users[createLogin] = createPassw
print("\nUser created\n")
def oldUser():
login = input("Enter login name: ")
passw = input("Enter password: ")
if login in users and users[login] == passw:
print("\nLogin successful! Your credentials have been saved.\n")
else:
print("\nUser doesn't exist or wrong password!\n")
while status != "q":
displayMenu()
код сервера:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("Listening: ")
s.bind(('127.0.0.1', 4000))
s.listen(10) #listen to 1 connection at a time
c, addr = s.accept()
print ("Connection from: ", addr)
message = input("Send: ->")
c.sendall(message.encode())
data = c.recv(1024).decode()#max number of bytes recv
print("data from client ", data)
c.close()
input("\n\n press enter to close")