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
Sockets 即使一侧ip地址发生变化,套接字是否仍保持打开状态?_Sockets_Java 7 - Fatal编程技术网

Sockets 即使一侧ip地址发生变化,套接字是否仍保持打开状态?

Sockets 即使一侧ip地址发生变化,套接字是否仍保持打开状态?,sockets,java-7,Sockets,Java 7,如果我在WAN上的两台计算机之间打开一个套接字,而其中至少有一台计算机具有动态ip地址,并且即使该套接字尚未明确关闭,该地址也会更改:是否保证该套接字将保持打开状态,至少在我的程序真的要求关闭它之前 关于一旦两台计算机之一的IP地址发生变化,则保留原始地址的计算机(不知道新地址)将无法与另一台计算机通信。没有自动通知已连接的客户端已分配新IP地址的过程,您可以创建一个新的IP地址,但您必须在更改之前通过旧IP地址通信新地址。另外,另一台计算机根本不会立即知道地址已更改,您必须等到它超时。另一个巨

如果我在WAN上的两台计算机之间打开一个套接字,而其中至少有一台计算机具有动态ip地址,并且即使该套接字尚未明确关闭,该地址也会更改:是否保证该套接字将保持打开状态,至少在我的程序真的要求关闭它之前


关于

一旦两台计算机之一的IP地址发生变化,则保留原始地址的计算机(不知道新地址)将无法与另一台计算机通信。没有自动通知已连接的客户端已分配新IP地址的过程,您可以创建一个新的IP地址,但您必须在更改之前通过旧IP地址通信新地址。另外,另一台计算机根本不会立即知道地址已更改,您必须等到它超时。另一个巨大的挑战是,计算机甚至可能不知道自己的IP地址已经更改,因为在WAN上,它可能通过一个新的地址暴露在internet上。

一旦两台计算机中的一台的IP地址更改,则保留原始地址的计算机(不知道新地址)将无法再与对方沟通。没有自动通知已连接的客户端已分配新IP地址的过程,您可以创建一个新的IP地址,但您必须在更改之前通过旧IP地址通信新地址。另外,另一台计算机根本不会立即知道地址已更改,您必须等到它超时。另一个巨大的挑战是,计算机甚至可能不知道自己的IP地址已经更改,因为在WAN上,它可能通过一个新的地址暴露在internet上。

谢谢。事实上,我只是想要一种通道,以便(不时地)交流国际象棋单元格坐标的简单对。例如(3,0,2,6)。那么,除了通过套接字进行直接通信之外,还有什么好的替代方案吗?考虑到Skype的工作方式(或者我已经读过),这是一个中央服务器,它可以监视人们的IP地址,因此当由于网络重新配置而中断连接时,客户端可以返回该中央数据库,查看是否有更新的信息。这是一个有趣的浅潜:谢谢。事实上,我只是想要一种通道,以便(不时地)交流国际象棋单元格坐标的简单对。例如(3,0,2,6)。那么,除了通过套接字进行直接通信之外,还有什么好的替代方案吗?考虑到Skype的工作方式(或者我已经读过),这是一个中央服务器,它可以监视人们的IP地址,因此当由于网络重新配置而中断连接时,客户端可以返回该中央数据库,查看是否有更新的信息。这是一个有趣的浅潜: