Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在windows登录之前为服务器分配IP地址_C#_Networking_Udp - Fatal编程技术网

C# 如何在windows登录之前为服务器分配IP地址

C# 如何在windows登录之前为服务器分配IP地址,c#,networking,udp,C#,Networking,Udp,我在同一个局域网192.168.10上有两台服务器;主服务器设置为192.168.10.5(IP-1),它正在运行一个c#应用程序,UDP与一些网络设备进行通信;另一台服务器是主服务器的备份,它是192.168.10.6(IP-2),但c#应用程序没有运行。 在两台服务器上运行任务,其主要目的是使用netsh脚本将服务器的IP设置为IP-1(如果网络中没有IP-1服务器),然后运行主c#应用程序,或者将服务器设置为IP-2(如果IP-1已经存在) 问题是: 如果其中一台服务器关闭并分配了IP-1

我在同一个局域网192.168.10上有两台服务器;主服务器设置为192.168.10.5(IP-1),它正在运行一个c#应用程序,UDP与一些网络设备进行通信;另一台服务器是主服务器的备份,它是192.168.10.6(IP-2),但c#应用程序没有运行。 在两台服务器上运行任务,其主要目的是使用netsh脚本将服务器的IP设置为IP-1(如果网络中没有IP-1服务器),然后运行主c#应用程序,或者将服务器设置为IP-2(如果IP-1已经存在)

问题是: 如果其中一台服务器关闭并分配了IP-1地址,另一台服务器会立即获得IP-1,但当另一台服务器再次打开时,会产生IP冲突。因此,我需要在服务器连接到本地网络之前使用第三个IP addr IP-3启动服务器,然后根据运行的内容对其进行配置

我有这个问题,因为UPD设备需要一个远程IP地址进行通信,并且服务器备份必须自动化

(对不起,我的英语不好)


谢谢你们

这两台服务器都需要自己的IP,不与其他任何人共享。这样,当服务器启动时,就没有IP冲突。然后,检查共享IP是否存在的脚本(这与两台服务器的IP不同)可以正常运行


例如,一台服务器具有IP-1,另一台服务器具有IP-2。然后其中一台服务器将启动IP-3并启动绑定到IP-3的C#应用程序。因此,IP-3将是与IP-1或IP-2位于同一物理接口上的虚拟IP。

您可以尝试使用虚拟接口,并分配一个主IP地址和多个辅助IP地址。

通常,您将在两台服务器直接相互连接的任何单独网络接口上拥有心跳,或者服务器在现有网络上有只用于心跳的辅助网络地址(可能没有路由)。我将搜索一些有关如何执行此操作的信息,我非常喜欢此解决方案!但是,如果应该在服务器上运行的虚拟机上设置IP地址呢?心跳必须是物理的?因此,这样我就需要一个由c#应用程序本身创建的虚拟IP地址?它能与外部物理设备一起工作吗?还是应该将其添加到IPV4配置的IP地址列表中?好的,我采用了该解决方案,谢谢!另外,如果您感兴趣,我的一位朋友刚刚告诉我,使用gpedit.msc,您可以在服务器启动时运行脚本,这样您就可以在服务器连接到网络之前设置IP地址!