Java Connector.open的文件描述符不足
以下是大部分相关代码,运行在带有FRC Java映像的cRIO上:Java Connector.open的文件描述符不足,java,java-me,network-programming,Java,Java Me,Network Programming,以下是大部分相关代码,运行在带有FRC Java映像的cRIO上: try { SocketConnection http = (SocketConnection) Connector.open("socket://" + BEAGELIP); InputStream data = http.openInputStream(); database = ""; int p = data.read(); while (p
try {
SocketConnection http = (SocketConnection) Connector.open("socket://" + BEAGELIP);
InputStream data = http.openInputStream();
database = "";
int p = data.read();
while (p >= 0) {
database += (char) p;
p = data.read();
}
data.close();
http.close();
} catch (Exception e) {
System.out.println(e);
}
正在重复调用此方法
在多次连接失败(例如,服务器未插入)后,IOException在套接字创建期间从java.io.IOException:ConnectException:connect-seeded
切换到java.io.IOException:errno:24 on fd:-1
我们认为发生这种情况的原因可能是,在发生故障时,Connector.open
返回null,而我们不能close()
,从而冻结文件描述符
防止在此过程中使用所有文件描述符的正确方法是什么
如果有人能就如何完成这项工作提出建议,那就太好了。你的结案一定是在一个finally{}块中。否则,如果出现异常,它们不会发生,并且迟早会出现异常,我们尝试了这一点,但是,Connector.open无法将其返回保存到变量中,因此我们只能关闭null。如果确实需要这样做的话,请给出更深入的解释。