python怎么返回true和false_Python“==”在返回True时返回False

我最近一直在用python测试密码保护套接字,遇到了一个问题。

import socket

import threading

from requests import get

import uuid

HEADER = 64

PORT = 9090

#To connect over the internet change SERVER to your public IP

SERVER = socket.gethostbyname(socket.gethostname())

ADDR = (SERVER, PORT)

FORMAT = 'utf-8'

DISCONNECT_MESSAGE = "!DISCONNECT"

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server.bind(ADDR)

def handle_client(conn, addr, password):

print(f"[PNet] NEW CONNECTION: {addr} connected.")

connected = True

while connected:

msg_length = conn.recv(HEADER).decode(FORMAT)

if msg_length:

msg_length = int(msg_length)

msg = conn.recv(msg_length).decode(FORMAT)

print(msg)

if msg == password:

connected = True

if msg != password:

print("Huh?")

if msg == DISCONNECT_MESSAGE:

connected = False

print(f"[PNet] {addr}: {msg}")

conn.send("[PNet] CLIENT: Message received.".encode(FORMAT))

conn.close()

def start():

print("[PNet] STARTING: Server is starting...")

print("[PNet] STARTING: Generating key...")

password = uuid.uuid4()

print(f"[PNet] FINALIZING: Key generated: {password}")

server.listen()

print(f"[PNet] LISTENING: Server is listening on {SERVER}.")

while True:

conn, addr = server.accept()

thread = threading.Thread(target=handle_client, args=(conn, addr, password))

thread.start()

#print(f"[PNet] ACTIVE CONNECTIONS: {threading.activeCount() - 1}")

start()

我的第二个剧本是:客户端.py

import socket

HEADER = 64

PORT = 9090

FORMAT = 'utf-8'

DISCONNECT_MESSAGE = "!DISCONNECT"

SERVER = input("[PNet] CLIENT: Server IP: ")

PASS = input("[PNet] SERVER: Enter password: ")

ADDR = (SERVER, PORT)

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client.connect(ADDR)

def send(msg):

message = msg.encode(FORMAT)

msg_length = len(message)

send_length = str(msg_length).encode(FORMAT)

send_length += b' ' * (HEADER - len(send_length))

client.send(send_length)

client.send(message)

print(client.recv(2048).decode(FORMAT))

send(PASS)

connected = True

while connected:

msg = input("[PNet] CLIENT: Send a message: ")

if msg != DISCONNECT_MESSAGE:

send(msg)

else:

send(msg)

connected = False

当运行时,当密码从终端完全复制时,它仍然返回False。感谢您的帮助:)


版权声明:本文为weixin_39876002原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。