Я хотел бы понять, почему я должен ждать, пока поток моего получателя завершит свою работу, прежде чем я смогу сделать что-то еще.Я понимаю, что моя функция sock_listen ожидает соединения, вот для чего она предназначена, но я не понимаю, почему это не происходит "внутри" моего потока.
Извините, если это глупый вопрос, но яЯ потерян!Заранее спасибо!
def sock_listen(address, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (address,port)
print("Starting listener on %s and port %s" % server_address)
sock.bind(server_address)
sock.listen(1)
while True:
print("[-] Waiting for connection")
connection, client_address = sock.accept()
print("[+] Connection from " + str(client_address))
data = connection.recv(256)
while (data) :
print("[" + time.strftime("%H:%M:%S") + "] " + str(data))
data = connection.recv(256)
receiver = threading.Thread(sock_listen("localhost",10000))
print("Nothing reaches me, I can not be printed until the sock_connect func is done looping!")
receiver.start()
Моя цель - создать простой TCP-чат, в котором выделенный поток будет обрабатывать и распечатывать входящие сообщения, а основной процесс будет отправлять пользовательский ввод (сообщения)