我在Mininet拓扑代码中通过host命令运行python脚本时遇到问题。我想在h1上运行server.py,在其他主机上运行host.py。开始时,服务器可以向主机发送数据包,主机也可以向服务器发送数据包。但过了一段时间,似乎他们不会互相发送数据包。但是当我在各个xTerm主机上运行客户端和服务器脚本时,它的工作正常。
server.py:
server_ip = sys.argv[1]
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('%s' % server_ip, 10000))
sock.listen(1000)
while True:
connection, client_address = sock.accept()
t = threading.Thread(....)
host.py:
server_ip = sys.argv[1]
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('%s' % server_ip, 10000))
#DO STH.
s.close()
这里是用于执行启动服务器和客户端应用程序的命令的代码:
tree.py:
...Build a mininet topology...
h1 = net.get('h1')
h1.cmd('python server.py %s &' % h1.IP())
for i in ...
ho = net.get('h%s' % i)
ho.cmd('python host.py %s &' % h1.IP())