我需要模拟通常用于电机控制的多个嵌入式服务器设备。在真实的生活中,网络上可能有多个服务器,我们的桌面软件同时充当所有电机服务器的客户端。我们手头有六个这样的电机控制服务器,用于基本测试。但是用真实的的硬件来测试更大的系统会变得越来越昂贵。我想建立一个模拟器,看起来像网络上的许多服务器来测试我们的客户端软件。
如何构建一个模拟器,使其看起来在同一端口上具有多个IP地址,而实际上却没有多个NIC。例如,客户端软件将尝试通过端口1111连接到服务器192.168.10.1192.168.10.50。模拟器将接受所有这些连接,并像移动物理电机一样运行模拟,并通过这些套接字连接发回模拟数据。
我可以使用路由器将所有这些地址Map到单个测试服务器吗?或者理想情况下,有没有一种方法可以使用localhost来“欺骗”这些IP地址?客户端软件是用.Net编写的,但Python的想法也会受到欢迎。
4条答案
按热度按时间dbf7pr2w1#
你应该设置一个虚拟网络适配器。它们被称为TAP/TUN设备。如果你使用的是Windows,你可以很容易地设置一些虚拟地址,比如:
http://www.ntkernel.com/w&p.php?id=32
祝你好运!
xvw2m8pv2#
A.考虑使用Bonjour(zeroconf)进行服务发现
B.您可以为同一NIC分配1个或多个IP地址:
在XP上,开始-〉控制面板-〉网络连接,然后选择NIC上的属性(通常为“本地连接”)。
向下滚动到Internet协议(TCP/IP),选择它并单击[属性]。
如果使用DHCP,则需要从IT获取静态的基本IP。否则,请单击[高级],然后在“IP地址”下单击[添加..],输入要添加的其他IP的IP信息。
对每个其他IP地址重复上述步骤。
考虑使用VMWare,因为您可以在单个逻辑“计算机”网络中配置多个系统和虚拟IP。
天空
nbysray53#
通常您只侦听0.0.0.0。这是 * 所有 * IP地址的别名。
oaxa6hgo4#
您可以使用以下命令以admin身份将别名IP地址添加到单个网络接口。为所需的每个IP地址运行一次。该命令假定您的网络接口名为“Ethernet 1”,因此根据需要进行调整:
通过将
add
更改为delete
来删除IP地址。使用以下命令显示IP地址:
您也可以通过GUI执行相同的操作:
1.转到
Network Connections
1.右键单击适配器并选择
Properties
1.双击
Internet Protocol Version 4 (TCP/IPv4)
1.单击
Advanced
1.单击“
IP addresses
”部分中的“Add
”以添加IP地址