我有两个程序因此,如果我在机器A上有一个“本地”程序而机器B上有另一个“远程”程序,那么“本地”程序如何能够在Windows下的c ++中找出它们是在同一台机器上还是在不同的机器上运行环境。
答案 0 :(得分:1)
将“self”的IP地址从“local”发送到“remote”?或者让“远程”将其IP地址发送到“本地”。然后与“它自己的”IP地址进行比较。如果它们是相同的,那么必须是同一台机器[或者机器有多个网卡连接到同一个整体网络]。
询问其他一些机器特定ID,例如mac-address,硬盘ID等。
根据您实际尝试的内容,有许多不同的方法可能会或可能不会起作用。
根据评论进行编辑:
如果要检查程序是否在同一台计算机上可用,可以使用“命名管道”或其他一些命名的IPC机制,只需检查本地计算机上是否有可用的IPC。如果没有,请使用远程机器机制(例如TCP / IP)。
答案 1 :(得分:0)
我实际上正在寻找类似的东西,如果我有两个程序发送 如果一个进程对另一个进程是本地的,那么它们将相互之间的数据 使用本地ipc方法,但如果它们远程位于tcp / ip。所以 我如何检测程序,然后用它来决定哪个 通信方法
首先尝试本地IPC方法。如果它们不起作用,请切换到TCP / IP。