今天很是奇怪,在运行服务器端的时候,经常遇到这个异常:
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:97)
at server.Server.startService(Server.java:50)
at server.Server.<init>(Server.java:44)
at server.Server.main(Server.java:38)
google了很久,发现了各种不着边际的异常发生的情况。但是就是没找到我这边的socket中的解决方法。不知道怎么回事,突然想到应该是端口的问题,肯定是端口被占用了。但是为什么这个异常是不稳定的呢?为什么有时候出来,有时候不出来呢?昨天是这样,今天也是这样。于是google了一下,windows下怎么查看端口端口占用的情况:在命令行中输入:netstat -aon|findstr "5678"(这边的5678是我程序需要开启的端口),果然,端口还真的被占用了:
原来是3064号进程在监听我的这个端口。奇怪了,这是什么程序在搞怪呢?
于是有输入了:tasklist|fidstr "3064",来找到是什么应用在监听我的这个端口。我顿时目瞪口呆了:
靠,竟然是迅雷,突然想起来了,我下午突然想起来了要把成长的烦恼下载完,于是就开了迅雷。没想到,迅雷也是用的是5678端口,我果断的关掉了迅雷,然后重新运行我的服务器端程序,终于可以了!!真是一个让人哭笑不得的结果啊!!!
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:97)
at server.Server.startService(Server.java:50)
at server.Server.<init>(Server.java:44)
at server.Server.main(Server.java:38)
google了很久,发现了各种不着边际的异常发生的情况。但是就是没找到我这边的socket中的解决方法。不知道怎么回事,突然想到应该是端口的问题,肯定是端口被占用了。但是为什么这个异常是不稳定的呢?为什么有时候出来,有时候不出来呢?昨天是这样,今天也是这样。于是google了一下,windows下怎么查看端口端口占用的情况:在命令行中输入:netstat -aon|findstr "5678"(这边的5678是我程序需要开启的端口),果然,端口还真的被占用了:
原来是3064号进程在监听我的这个端口。奇怪了,这是什么程序在搞怪呢?
于是有输入了:tasklist|fidstr "3064",来找到是什么应用在监听我的这个端口。我顿时目瞪口呆了:
靠,竟然是迅雷,突然想起来了,我下午突然想起来了要把成长的烦恼下载完,于是就开了迅雷。没想到,迅雷也是用的是5678端口,我果断的关掉了迅雷,然后重新运行我的服务器端程序,终于可以了!!真是一个让人哭笑不得的结果啊!!!