为什么套接字仅在mininet中工作一段时间

时间:2018-06-05 06:31:28

标签: python sockets mininet

我在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())

0 个答案:

没有答案