首页 > 解决方案 > 为什么我的变量导入会导致代码冲突?

问题描述

在下面的代码中,我试图从名为“client.py”的单独文件中解密通过 TCP 发送到我的 server.py 文件的填充 AES 文本:

def handle(client):
    while True:
        try:
            message = client.recv(1026)
            key_iv = AES.new(b'5TGB&YHN7UJM(IK<', AES.MODE_CBC, b'!QAZ2WSX#EDC4RFV')
            decrypt1 = key_iv.decrypt(message)
            decrypt2 = decrypt1[0:len(text)]
            broadcast(decrypt2)
            time.sleep(2)

为此,我必须通过' from client import text'从 client.py 导入变量“text”。虽然,在我这样做然后尝试启动我的服务器之后,我看到了一个仅在客户端文件上特定的错误。错误显示'Connection timed out, probably host is down' 并且显示此类消息的代码仅存在于 client.py 文件中(如下所示):

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
IP = '192.168.68.166'
PORT = 4444
try:
    client.connect((IP, PORT))
    username = input("Username: ")
except socket.error:
    print("Connection timed out, probably host is down")
    client.close()
    sys.exit()

我知道一个事实,我在启动服务器时没有遇到套接字错误,而且 - 即使我是 - 我不应该从我从未导入的一段代码中看到错误

标签: pythonsocketsencryptionimport

解决方案


推荐阅读