Я полный нуб Twisted AND Python, поэтому мои извинения, если какая-то из моих терминологий неверна или что-то, что я сделал, глупы. Тем не менее ....
Я реализовал свои серверы следующим образом:
def makeServer(application, port):
factory = protocol.ServerFactory()
factory.protocol = MyChat
factory.clients = []
tempServer = internet.TCPServer(port, factory)
tempServer.setServiceParent(application)
return tempServer
application = service.Application("chatserver")
server1 = makeServer(application, port=1025)
server2 = makeServer(application, port=1026)
server3 = makeServer(application, port=1027)
Обратите внимание, что MyChat - это класс обработки событий, который выполняет действие receiveMessage:
def lineReceived(self, line):
print "received", repr(line)
for c in self.factory.clients:
c.transport.write(message + '\n')
Я хочу, чтобы server1 мог передавать сообщения на server2. Скорее я хочу, чтобы server1 рассматривался как клиент server2. Если server1 получает сообщение «привет», я хочу, чтобы оно отправляло точно такое же сообщение на server2. Единственное, что нужно сделать server1, - это отправить сообщение, полученное от его клиента на сервер2.
Как мне это сделать?
ПРИМЕЧАНИЕ. Вы можете полностью изменить способ реализации моего сервера, если это поможет.