Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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
主机之间的持久TCP连接,即使IP地址发生更改_C_Sockets_Dns_Ip - Fatal编程技术网

主机之间的持久TCP连接,即使IP地址发生更改

主机之间的持久TCP连接,即使IP地址发生更改,c,sockets,dns,ip,C,Sockets,Dns,Ip,即使IP地址发生变化,我如何与另一个远程主机建立持久的TCP连接 假设我创建了一个连接到IP地址的程序。过了一段时间(电脑重启等),IP地址发生变化,我的程序无法再连接到目标电脑 存在一种称为DNS的东西,您可以在其中键入一个域,然后返回一个有效的IP地址。为此,我听说您需要托管一台服务器并为此付费 例如,Skype就是P2P。这是怎么回事 有没有一种方法可以通过编程使某个服务器(不在我的本地lan中)始终可以连接到,即使我的IP地址发生更改?您可以使用p2p命名机制连接到一台机器,即使它的地址

即使IP地址发生变化,我如何与另一个远程主机建立持久的TCP连接

假设我创建了一个连接到IP地址的程序。过了一段时间(电脑重启等),IP地址发生变化,我的程序无法再连接到目标电脑

存在一种称为DNS的东西,您可以在其中键入一个域,然后返回一个有效的IP地址。为此,我听说您需要托管一台服务器并为此付费

例如,Skype就是P2P。这是怎么回事


有没有一种方法可以通过编程使某个服务器(不在我的本地lan中)始终可以连接到,即使我的IP地址发生更改?

您可以使用p2p命名机制连接到一台机器,即使它的地址发生更改。微软有PNRP名称服务,它使用p2p命名系统为计算机生成唯一的名称。使用此PNRP名称,您可以连接到计算机,即使其IP地址发生更改。有关详细信息,请查看以下链接:


Skype也可能使用类似的机制来识别其他对等方地址。

Skype(和其他类似的语音/视频系统)很可能不使用TCP连接,但使用UDP。没有区别,这也是ip。。。它还使用ip地址Skype服务器和其他运行Skype的计算机可能作为域服务器。我也考虑过这种方法,因为我认为irc也是这样工作的。。。但这是事实还是没有办法?如果是这样,ppl ho如何提供这些dns服务器??他们是否实现了一些路由协议来做到这一点??我也可以这样说:D?