【发布时间】:2012-11-18 07:52:08
【问题描述】:
只有在 64 位(Windows 7 Ultimate)上运行时才会出现这个奇怪的异常,而不是在运行 32 位 Win7 Ultimate 时。目前它在 java 版本 1.6.0_26 上运行
running server!
java.net.SocketException: select failed
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(Unknown Source)
at java.net.ServerSocket.implAccept(Unknown Source)
at java.net.ServerSocket.accept(Unknown Source)
at Server.main(Server.java:18)
代码如下:
//import java.net.ServerSocket;
//import java.net.Socket;
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
System.out.println("running server!");
int nreq = 1;
try{
ServerSocket sock = new ServerSocket(7337);
for(;;){
Socket newsock = sock.accept();
System.out.println("Creating thread...");
Thread t = new ThreadHandler(newsock, nreq);
t.start();
nreq++;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
在线引用的错误指向该位:
Socket newsock = sock.accept();
【问题讨论】:
-
这个问题从来没有得到满意的回答。这不是防火墙问题或管理员权限问题
-
我是新来的,不知道他的实力,但我认为这个事实应该传达出绝望
-
当你的声望超过 75 点时,你可以put a bounty on this question(这将花费你 50 点)——它可能会吸引更多的答案。
标签: java sockets 64-bit serversocket java-server