Этот код должен попытаться запустить серверный процесс и вернуться.Если порт был занят, он должен сказать «не может связаться с этим портом» и вернуться.Если сервер запущен, он должен вывести «Bound to port 51231» и вернуться.Но он не возвращается.
import socket
from multiprocessing import Process
def serverMainLoop(s,t):
s.listen(5)
while 1:
pass # server goes here
host = ''
port = 51231
so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
so.bind((host,port))
print "Bound to port %i"%port
serverProcess = Process(target=serverMainloop, args=(so,60))
serverProcess.start()
sys.exit()
except socket.error, (value,message):
if value==98:
print "couldn't bind to that port"
sys.exit()
Есть ли какой-то переключатель, который я могу включить, который заставит многопроцессорную работу позволить мне сделать это?