Блокировка сокета, возможно решить с помощью многопроцессорной обработки? - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь научиться основам программирования сокетов на 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...