Android+HttpURLConnection+ObjectOutputStream+java.io.EOFException
阿新 • • 發佈:2019-02-15
url = new URL(str_remotecallservlerurl); //定義遠端CallServlet的url!!! conn = (HttpURLConnection)url.openConnection(); // conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setConnectTimeout(_readTimeOut * 1000); //只等8秒 conn.setReadTimeout(_readTimeOut * 1000); // // 設定傳送的內容型別是可序列化的java物件 (如果不設此項,在傳送序列化物件時,當WEB服務預設的不是這種型別時可能拋java.io.EOFException) conn.setRequestProperty("Content-type", "application/x-java-serialized-object"); conn.connect(); OutputStream request_out = conn.getOutputStream(); /// ObjectOutputStream objStream = new ObjectOutputStream(request_out); //輸出物件流!! objStream.writeObject(物件); //真正輸出壓縮流的地方!!!即開始網路通訊了......... objStream.flush();
Object responseObj = null; // int responseCode = conn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { InputStream response_in = conn.getInputStream(); //取得輸入流... ObjectInputStream request_in_objStream = new ObjectInputStream(response_in); responseObj = request_in_objStream.readObject(); // response_in.close(); //關閉輸出流.... }