我使用 mininet 模拟了网络拓扑。该拓扑包含由多个交换机连接的两台主机。在主机 1上,我们运行一个客户端应用程序,它创建一个套接字并尝试连接到主机 2上的服务器应用程序,但是它失败了。如果我在两台主机之一上本地运行客户端和服务器脚本,则它可以毫无问题地连接。
服务器.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()
客户端.py:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((args['ip'], 10021))
while 1:
#DO STH.
s.close()
这里用于执行命令以启动服务器和客户端应用程序的代码
拓扑.py:
server = net.getNodeByName('host2')
client = net.getNodeByName('host1')
server.cmd('./server.py & > serveroutput')
client.cmd('./client.py -i %serverIP > clientfile' % server.getIP())