【发布时间】:2009-09-16 14:15:29
【问题描述】:
我正在开发一个多套接字连接的应用程序(一个 TCP 警报监视器)。目前,为了模拟警报,我制作了在虚拟机上运行的小型应用程序(即,因为虚拟机具有不同的 IP)来模拟警报端点。
我想做的是在我运行“服务器”(即第一个应用程序)的同一台机器上模拟警报,除了我希望这些模拟警报具有不同的 IP。我不希望我的模拟与第一个应用程序使用相同的 IP 运行(例如,服务器是 192.168.1.4;我希望模拟是 192.168.1.10,其他是 192.168.1.11 等;都住在同一台机器上,就像虚拟机可以做到的那样)。
“桥接网络”模式下的虚拟机可以从 DHCP 服务器获得不同的 IP(这就是我得到这个想法的地方)。所以,我有点不知道在哪里调查以完成任务,我的问题是:
如何以编程方式制作我的模拟应用程序以通过 DHCP 获取自己的 IP 地址? (或者,考虑到 .NET Framework,这不可能吗?)
朝觐-
【问题讨论】:
-
大多数 VM 网络解决方案使用实际的网络适配器驱动程序,并将其桥接到您的 LAN 适配器,然后通过 DHCP 获取其 IP。您也许可以实现 Loopback 驱动程序来做您想做的事。在 Google 上搜索 Microsoft Loopback 适配器。
-
DHCP 所做的只是从池中为您分配一个 IP 地址 - 有什么阻止您自己选择 IP 地址吗?
-
我当然可以选择ip。我不知道以编程方式执行此操作的方法...类似于 MyApplication.IP = IP("192.168.0.1")。换句话说,我知道如何打开一个端口并对其进行监听,但我不知道如何为我的应用“超越”一个 ip。
-
感谢您提供有关 Microsoft Loopback Adapter 的答案,我现在将阅读有关该主题的内容。
标签: c# networking sockets dhcp