我正在嘗試爲類Server
的每個新實例運行新進程。每個Server
實例都應偵聽特定的端口。我有這個(簡體)到目前爲止的代碼:source在__init__上啓動新進程(用於TCP偵聽器 - 服務器)
class Server(object):
def handle(connection, address):
print("OK...connected...")
try:
while True:
data = connection.recv(1024)
if data == "":
break
connection.sendall(data)
except Exception as e:
print(e)
finally:
connection.close()
def __init__(self, port, ip):
self.port = port
self.ip = ip
self.socket = socket(AF_INET, SOCK_STREAM)
self.socket.bind((self.ip, self.port))
self.socket.listen(1)
while True:
print("Listening...")
conn, address = self.socket.accept()
process = multiprocessing.Process(target=Pmu.handle, args=(conn, address))
process.daemon = True
process.start()
s1 = Server(9001,"127.0.0.1")
s2 = Server(9002,"127.0.0.1")
但是當我運行此腳本僅第一服務器S1正在運行並等待連接。如何讓兩臺服務器同時進行監聽?
嘗試不同的端口。 –
@JonathanDavies我正在使用不同的端口(9001和9002) – sstevan