Unrecognized Windows Sockets error: 0: JVM_Bind
【轉帖】今天很是奇怪,在運行服務器端的時候,經常遇到這個異常:
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bindat 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端口,我果斷的關掉了迅雷,然后重新運行我的服務器端程序,終於可以了!!真是一個讓人哭笑不得的結果啊!!!