一个程序的位置对应另一个c ++

时间:2013-03-31 01:34:01

标签: c++ windows networking process

我有两个程序因此,如果我在机器A上有一个“本地”程序而机器B上有另一个“远程”程序,那么“本地”程序如何能够在Windows下的c ++中找出它们是在同一台机器上还是在不同的机器上运行环境。

2 个答案:

答案 0 :(得分:1)

将“self”的IP地址从“local”发送到“remote”?或者让“远程”将其IP地址发送到“本地”。然后与“它自己的”IP地址进行比较。如果它们是相同的,那么必须是同一台机器[或者机器有多个网卡连接到同一个整体网络]。

询问其他一些机器特定ID,例如mac-address,硬盘ID等。

根据您实际尝试的内容,有许多不同的方法可能会或可能不会起作用。

根据评论进行编辑:

如果要检查程序是否在同一台计算机上可用,可以使用“命名管道”或其他一些命名的IPC机制,只需检查本地计算机上是否有可用的IPC。如果没有,请使用远程机器机制(例如TCP / IP)。

答案 1 :(得分:0)

  

我实际上正在寻找类似的东西,如果我有两个程序发送   如果一个进程对另一个进程是本地的,那么它们将相互之间的数据   使用本地ipc方法,但如果它们远程位于tcp / ip。所以   我如何检测程序,然后用它来决定哪个   通信方法

首先尝试本地IPC方法。如果它们不起作用,请切换到TCP / IP。