我有一个电子客户端/服务器应用程序,服务器通过 LAN 与几个客户端通信。这种通信是通过 建立的node-ipc
。
问题是,我无法控制 LAN DHCP。所以在启动时我不知道服务器 IP,更糟糕的是,客户端甚至在服务器启动之前就已经准备好了。
所以我的服务器脚本是:
const NodeIpc = require('node-ipc');
NodeIpc.config.id = 'world';
NodeIpc.config.retry = 1500;
NodeIpc.config.networkHost = FunctionToReadIP();
NodeIpc.serveNet(
function () {
whatever();
});
在客户端:
const NodeIPC = require('node-ipc');
NodeIPC.config.id = ClientID;
NodeIPC.config.retry= 1500;
NodeIPC.connectToNet(
'world',
function(){
NodeIPC.of.world.on(
'connect',
function(){
NodeIPC.of.world.emit('Data.fromClient',{data: ClientID});
}
);
});
只要我在一台机器上测试所有东西,它就可以很好地工作,但我无法连接其他机器。我有什么方法服务器和客户端可以在启动后立即找到对方,而不知道谁拥有哪个 IP?