0
這裏是最相關的代碼,在與FRC的Java圖像的cRIO運行:文件描述符耗盡與Connector.open
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 refused
到java.io.IOException: errno: 24 on fd:-1 during socket create
我們認爲這可能發生的原因是因爲失敗,Connector.open
返回NULL,這是我們不能close()
,凍結一個文件描述符。
什麼是正確的方法來防止在這個過程中使用所有的文件描述符?
如果任何人都可以提出如何完成這件事的建議,那將是美好的。
我們嘗試過這種方式,但是,Connector.open無法設法將其返回值保存到變量中,因此我們有隻有null才能關閉。 如果這是它需要完成的方式,的確,對您給出更深入的解釋會有幫助。 –