gpt4 book ai didi

java - 什么会导致 “IO error java.net.SocketException: select failed ” ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:24 26 4
gpt4 key购买 nike

我的笔记本电脑上运行着一个服务器程序,相同的路由器和相同的代码。它工作正常,客户端可以连接。但是,当我将工作区复制到我的 PC 并运行它时,我得到了这些废话:

IO 错误 java.net.SocketException: 选择失败

这是代码...

public static void main(String[] args) {
System.out.println("running server!");
int nreq = 1;
try{
ServerSocket sock = new ServerSocket(7331);
for(;;){
Socket newsock = sock.accept();
System.out.println("Creating thread...");
//Thread t = new ThreadHandler(newsock, nreq);
//t.start();
nreq++;
}
}

catch(Exception e)
{

System.out.println("IO error " + e);

}

基本上是什么导致这个错误(我在网上找不到有用的信息)发生在一台电脑上而不是另一台电脑上?它必须与 PC 本身有关。我很困惑。基本上它不能打开套接字?

这是完整的堆栈跟踪:

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)

如果相关,我在 PC 上使用 Windows 7 64 位终极版,这给我带来了问题。它运行良好的笔记本电脑是 Windows 7 32 位。所以我能说的唯一明显区别是 32 位和 64 位。

这可能相关吗?我不明白。 http://forums.codeguru.com/showthread.php?522257-Windows-Sockets-64-bit

最佳答案

由于权限问题,我遇到了这个问题。我更习惯于 Linux,在那里我需要检查 IPTables 的设置(或禁用它)、非根用户绑定(bind)到端口 < 1024 等权限。我相信在 Windows 上你会想要检查你的用户的管理权限和您的 Windows 防火墙。

关于java - 什么会导致 “IO error java.net.SocketException: select failed ” ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11926655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com