通信的兩個服務器之間:上的OutputStream阻塞寫operaion
服務器1通過當服務器1接收到的數據使用以下API
ObjectOutputStream oos = new ObjectOutputStream(servResp.getOutputStream());
oos.writeObject(dataObj)
發送到服務器的請求2 服務器2上的流寫入響應作爲
InputStream res = connection.getInputStream();
if(res.available() > 0) {
ObjectInputStream ois = new ObjectInputStream(res);
Object object = ois.readObject();
dataObj = (DataObject)object;
}
這裏,res.isavailable()返回零個字節,它會通過使用服務器2上阻塞讀來解決,但有什麼辦法HANDL e在服務器1上?
服務器2沒有讀取您所提供的代碼..您的問題不清楚。但從根本上說,使用'available()'幾乎總是*錯誤。 –
不要調用'available'。如果你知道一個對象將被髮送,只需調用'readObject'。這將阻止,直到數據到達。 – Thilo
我的問題是當服務器2執行res.available()它應該返回流中的字節數。可能嗎? – mreaevnia