以前开发的动车模拟驾驶系统,有好几个软件(不在一台机器上),他们互相之间通信,因此每个软件要配置每个模块的IP和端口,就是每个模块都要知道别的模块的端口和IP。
这样有个重复的地方,B模块和C模块都要配置相同的A模块的信息,B和C的配置不就重复了吗?能不能只配置一个地方就可以了?
一个方法是,有一台机器的IP大家都知道(通过配置,或者在代码中写死),这台机器运行一个服务。 大家启动的时候去这台机器上读取每个模块的IP端口信息。
还可以用消息总线。就是发消息的时候,发发哦这个公共机器的消息总线上,大家都去消息总线上去读。每个消息上带消息头,说明是发给谁的,接收者只接受符合自己的消息。