0
我想嘗試一些,它不工作。我想讓客戶端套接字線程,然後隨時發送一些消息,當我打電話。我想通過命令client.sock.sendall(data)
來做到這一點,但它不起作用。爲什麼?首先,我打電話給我的客戶端實例,然後套接字,然後命令發送數據。我的客戶端線程應該生活,所以我可以隨時給他打電話..對不對?發送通過套接字蟒蛇,線程
這裏是我的客戶端代碼:
import threading
import socket
import pickle
def main():
class Chat_Client(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.host = '127.0.0.1'
self.sock = None
self.running = 1
def run(self):
PORT = 1234
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((self.host, PORT))
def kill(self):
self.running = 0
client=Chat_Client()
client.start()
pole=['majo','jojo', 'surovec']
data = pickle.dumps(pole)
client.sock.sendall(data)
client.kill()
if __name__ == "__main__":
main()
這裏是錯誤消息:
client.sock.sendall(data)
AttributeError: 'NoneType' object has no attribute 'sendall'
是否某種方式存在,如何做的?我beginer,我試圖學習蟒蛇..
問候
約瑟夫
謝謝,它的工作。但它打印錯誤:client.sock.sendall(data) OSError:[WinError 10057]。但數據被髮送,並且也被接收。所以我可能會嘗試隊列 – Joffo