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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Java 即使在应用程序崩溃后,IPV6 ServerSocket仍在侦听_Java_Sockets_Ipv6_Serversocket_Netstat - Fatal编程技术网

Java 即使在应用程序崩溃后,IPV6 ServerSocket仍在侦听

Java 即使在应用程序崩溃后,IPV6 ServerSocket仍在侦听,java,sockets,ipv6,serversocket,netstat,Java,Sockets,Ipv6,Serversocket,Netstat,我使用以下方法创建了一个ServerSocket: InetSocketAddress inetsktaddr = new InetSocketAddress(0); ServerSocket sckt = new ServerSocket(); sckt.bind(inetsktaddr); Socket socket = sckt.accept(); 当应用程序运行时,使用我找到的netstat TCP 0.0.0.0:49906 0.0.0.0:0

我使用以下方法创建了一个ServerSocket:

InetSocketAddress inetsktaddr = new InetSocketAddress(0);
ServerSocket sckt = new ServerSocket();
sckt.bind(inetsktaddr);
Socket socket = sckt.accept();
当应用程序运行时,使用我找到的netstat

TCP    0.0.0.0:49906          0.0.0.0:0              LISTENING       9196
TCP    [::]:49906             [::]:0                 LISTENING       9196
有时当应用程序崩溃时,netstat结果显示:

TCP    [::]:49906             [::]:0                 LISTENING       9196
搜索进程id 9196时,不存在这样的进程。它是应用程序运行时的java.exe进程id。发生这种情况的原因是什么

我正在使用Java1.5和Windows7 Professional

编辑

过了一段时间,我发现:
我的应用程序启动mysql数据库。有时当java.exe崩溃时,mysql不会崩溃。数据库服务器将仅启动。当这个问题出现时::独自处于侦听状态,我立即终止了mysql进程,该::套接字停止了侦听。所以mysql在某种程度上阻止了::在java崩溃时消失。无法找到原因。

至少我找到了原因,这是一个JVM错误

子进程将只继承IPV6套接字句柄,而不继承IPV4套接字句柄。于是我想到了这个问题


修复方法是我应该升级JVM或者只在ipv4服务器套接字中侦听。

这里发现了类似的问题。你可能会对此有所了解。Java1.5?那已经过时很多年了。尝试使用当前支持的Java版本。原因是子进程继承了套接字。您好@EJP,子进程mysql不会继承ipv4吗?ipv6服务器套接字仅在侦听。有什么原因吗?