Я пытаюсь научиться основам программирования сокетов на python. То, что я хотел бы сделать, это иметь отдельный поток, который activliy прослушивает сетевую активность, в то время как моя основная программа делает что-то еще.
Чего я не понимаю, так это того, почему цикл while (True) в приведенном ниже коде никогда не работаетпробеги. Разве это не должно быть в отдельном потоке от сокета?
import socket
import multiprocessing
def waitForConnection():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
port = 8000
address = ''
server_socket.bind((address, port))
server_socket.listen(0)
client_socket, client_ip = server_socket.accept()
client_conn = client_socket.makefile(mode='rwb')
process = multiprocessing.Process(target=waitForConnection())
process.start()
#main program
while(True):
print("I never reach this line when no client is connected")