В настоящее время я работаю с перекосом в python, и я пытаюсь сделать многоадресную рассылку между несколькими одноранговыми узлами (каждый из них может отправлять и получать сообщения, отправлять файлы и т. Д.). Мой главный выглядит следующим образом:Twisted multiple peers
if __name__ == '__main__':
serial_process_num, address = parse_args()
if serial_process_num == '0':
factory = PeerFactory('0', 'log')
reactor.listenTCP(address[1], factory)
reactor.listenTCP(address[1]+1, factory)
print "Process 0 is listening @" + address[0] + " port " + str(address[1])
print "Process 0 is listening @" + address[0] + " port " + str(address[1]+1)
elif serial_process_num == '1':
factory = PeerFactory('1', '')
host, port = address
print "Connecting to process 0 " + host + " port " + str(port)
reactor.connectTCP(host, port, factory)
print "Process 1 is listening @" + address[0] + " port " + str(address[1]+2)
reactor.listenTCP(port+2, factory)
else:
factory = PeerFactory('2', '')
host, port = address
print "Connecting to process 0 " + host + " port " + str(port+1)
reactor.connectTCP(host, port+1, factory)
print "Connecting to process 1 " + host + " port " + str(port+2)
reactor.connectTCP(host, port+2, factory)
reactor.run()
Я сохранил этот один простой, потому что я хочу, чтобы понять свою ошибку, поэтому им, используя только 3 peers.I начать первый с serial_process_num 0 из CMD (Py example.py экс 0), то 1 и 2.Am I правильно настроили слушателей/connecttcp? Всякий раз, когда я отправляю сообщения между этими 3, я получаю только половину из них в каждом сверстнике. (Я использую self.transport.write («пример»)
Есть альтернативный способ многоадресной передачи через TCPconnect в витую? (Им следующий krondos учебник), и как я могу сделать несколько соединений между несколькими коллегами с витыми?
Вы можете получить представление об этом: https://github.com/crossbario/autobahn-python/blob/master/examples/twisted/websocket/broadcast/server.py. Полученное сообщение Twisted + Autobahn WebSocket + для всех подключенных аналогов. –
спасибо, я понял это – user1823812