Я эмулировал сетевую топологию с использованием mininet. Топология содержит два узла, подключенных несколькими коммутаторами. На хост 1 мы запускаем клиентское приложение, которое создает сокет и пытается подключиться к серверному приложению на хосте 2, однако он не работает. Если я запускаю клиентский и серверный скрипты локально на одном из двух хостов, он подключается без проблем.Программирование сокетов Mininet в python
server.py:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 10021))
s.listen(5)
while 1:
(clientsocket, address) = s.accept()
#DO STH.
clientsocket.close()
client.py:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((args['ip'], 10021))
while 1:
#DO STH.
s.close()
Здесь код, который используется для выполнения команд, чтобы запустить сервер и клиентское приложение
topology.py:
server = net.getNodeByName('host2')
client = net.getNodeByName('host1')
server.cmd('./server.py & > serveroutput')
client.cmd('./client.py -i %serverIP > clientfile' % server.getIP())
Все, что у меня есть, это то, что ваш скрипт подключения не работает при подключении к хосту 2. В чем вопрос? Почему он терпит неудачу? В этом случае нам нужно немного больше, чтобы продолжать. Ошибки, например, ...? –