我有一个场景,我绘制一个网络并在基于摆动的 GUI 上设置它的所有参数,之后我必须将此网络转换为基于 python 的脚本,另一个框架读取并以虚拟机的形式实现这个网络。
例如,请看这里:
from mininet.topo import Topo, Node
class MyTopo( Topo ):
def *__init__*( self, enable_all = True ):
super( MyTopo, self ).__init__()
Host = 1
Switch = 2
self.add_node( Switch, Node( is_switch=True ) )
self.add_node( Host, Node( is_switch=False ) )
self.add_edge( Host, Switch )
self.enable_all()
topos = { 'mytopo': ( lambda: MyTopo() ) }
它只是将 a 连接host
到 aswitch
并在 python 框架上实现此拓扑。
现在为了在 Java GUI 上实现绘制的网络,我正在做的是:
我只是从 GUI 中获取信息并使用 Java 代码创建一个新的 python 文件,如上面的那个,然后使用 Java 中的ProcessBuilder
Class 在 mininet 中运行这个文件,它以某种方式工作得很好。
我想知道,这是我如何做到这一点的正确和稳健的方式,还是我应该进一步研究 java-python 桥之类的场景,以便更有效或更专业。
编辑:
我想知道的选项是:
以众所周知的格式(也许是 yaml?)序列化 GUI,可以由 python 反序列化,然后在 python 中添加其他功能以将该信息传递给该脚本。
添加一个 Java-Python 桥以直接从代码中执行此操作??
还有什么想法吗?我应该做什么,或者我擅长这里正在做的任何事情。