Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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# 连接没有本地静态IP的本地计算机_C#_Network Programming_Ip Address - Fatal编程技术网

C# 连接没有本地静态IP的本地计算机

C# 连接没有本地静态IP的本地计算机,c#,network-programming,ip-address,C#,Network Programming,Ip Address,我有3台电脑,一台是服务器,另一台是客户端。客户端通过输入服务器本地IP连接到服务器。所有这些都可以正常工作,但当路由器重新启动并且服务器被分配了不同的本地IP时,问题就会出现。现在,需要在客户端再次输入服务器的IP地址。我可以通过使用本地静态IP来解决这个问题,但是否可以在不设置本地静态IP的情况下进行连接 编辑: 使用TCP套接字。使用主机名连接到远程计算机,而不是其IP地址。 不过,您必须依赖DNS查找。使用主机名连接到远程计算机,而不是其IP地址。 不过,您必须依赖DNS查找。您的问题发

我有3台电脑,一台是服务器,另一台是客户端。客户端通过输入服务器本地IP连接到服务器。所有这些都可以正常工作,但当路由器重新启动并且服务器被分配了不同的本地IP时,问题就会出现。现在,需要在客户端再次输入服务器的IP地址。我可以通过使用本地静态IP来解决这个问题,但是否可以在不设置本地静态IP的情况下进行连接

编辑:
使用TCP套接字。

使用主机名连接到远程计算机,而不是其IP地址。
不过,您必须依赖DNS查找。

使用主机名连接到远程计算机,而不是其IP地址。
不过,您必须依赖DNS查找。

您的问题发生是因为您使用了路由器的DHCP功能。DHCP的D代表“动态”,因此IP地址在某些情况下可能会更改

最简单的解决方案是“不使用DHCP”

[解决方案详情]

为您的电脑分配固定IP地址,并使用该IP地址在电脑之间进行访问

通常,路由器使用192.168.1.1到192.168.1.255范围内的本地IP地址,路由器本身使用192.168.1.1


您可以分别为3台电脑使用IP地址192.168.1.2、192.168.1.3和192.168.1.4。

您的问题是因为您使用了路由器的DHCP功能。DHCP的D代表“动态”,因此IP地址在某些情况下可能会更改

最简单的解决方案是“不使用DHCP”

[解决方案详情]

为您的电脑分配固定IP地址,并使用该IP地址在电脑之间进行访问

通常,路由器使用192.168.1.1到192.168.1.255范围内的本地IP地址,路由器本身使用192.168.1.1


您可以分别为3台电脑使用IP地址192.168.1.2、192.168.1.3和192.168.1.4。

您可以做的一件事是,为服务器提供一个唯一的端点,例如

http://<server>/isthisme
这是一条你可以走的路。它没有优化,所以请随意^^


以下是该方法的要点。只是需要找出子网掩码的部分。但是我不能保证它会工作。

您可以做的一件事是,为服务器提供一个唯一的端点,比如

http://<server>/isthisme
这是一条你可以走的路。它没有优化,所以请随意^^



以下是该方法的要点。只是需要找出子网掩码的部分。不过,我不能保证它能正常工作。

你能看一下主机名吗?客户端和服务器之间连接的性质是什么?TCP?UDP?一些更高级的协议?为什么不使用本地dns名称?哇,人们问这个问题反应过度了。@xmenW.K。不要反应过度,询问更多细节;)你能看一下主机名吗?客户端和服务器之间连接的性质是什么?TCP?UDP?一些更高级的协议?为什么不使用本地dns名称?哇,人们问这个问题反应过度了。@xmenW.K。不要反应过度,询问更多细节;)谢谢你,亚历克斯,我会调查的;)谢谢你,亚历克斯,我会调查的;)没错,但向普通用户询问这一点对他们来说可能很难。并非所有用户都可以定义静态IP地址。这就是为什么我把这个解决方案留到最后。谢谢:)如果路由器的DHCP功能将新的IP地址分配给服务器,您如何知道新的IP地址?如果您知道服务器的MAC地址,您可以使用ARP协议获取路由器的IP地址。不幸的是,大多数用户从未使用像ARP这样的低层协议编写过代码。没错,但向普通用户询问这一点对他们来说可能很难。并非所有用户都可以定义静态IP地址。这就是为什么我把这个解决方案留到最后。谢谢:)如果路由器的DHCP功能将新的IP地址分配给服务器,您如何知道新的IP地址?如果您知道服务器的MAC地址,您可以使用ARP协议获取路由器的IP地址。不幸的是,大多数用户从未使用像ARP这样的低层协议编写过代码。听起来不错,你们能告诉我是什么方法来获取所有本地计算机IP吗?@xmenW.K。检查更新。我曾经有过覆盆子馅饼的问题。我使用了类似的方法来获取IP。听起来不错,你能告诉我是什么方法来获取所有本地计算机IP。@xmenW.K。检查更新。我曾经有过覆盆子馅饼的问题。我用了类似的东西来获得IP。