我不知道這里的錯誤是什么我知道這很亂但是在客戶端連接并發送消息后我得到了一個異常這里的錯誤IDException in thread Thread-1:Traceback (most recent call last): File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\threading.py", line 810, in __bootstrap_inner self.run() File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs) File "C:\Users\Gadi Tepper\PycharmProjects\Connection1\functions.py", line 12, in check_available_message user_uid = user.user_uidAttributeError: Message instance has no attribute 'user_uid'這是功能import timefrom message import *from user import *def check_available_message(messages, users): while True: for message in messages: for user in users: user_uid = user.user_uid dest_uid = message.receiver_uid if user_uid == dest_uid: print("got here") send_message(messages, message, user.user_socket)def send_message(messages, message, user_socket): print(message.sender_uid + " can send a message to: " + message.sender_uid) time.sleep(1) data = str((message.receiver_uid + "//" + message.sender_uid + "//" + message.data)).encode user_socket.send(data) messages.remove(message)這些是對象class User: def __init__(self, user_uid, user_socket): self.user_uid = user_uid self.user_socket = user_socketclass Message: def __init__(self, sender_uid, receiver_uid, data): self.sender_uid = sender_uid self.receiver_uid = receiver_uid self.data = data
2 回答

互換的青春
TA貢獻1797條經驗 獲得超6個贊
你在向后傳遞你的論點。您像這樣設置線程:
target=check_available_message, args=(users, messages))
但是您的方法需要消息作為第一個參數,用戶作為第二個參數:
def check_available_message(messages, users):

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
您的服務器中的參數順序錯誤。在 functions.py 中,你正在接受check_available_message(messages, users)
,在服務器中你有另一個訂單 -args=(users, messages)
添加回答
舉報
0/150
提交
取消