質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

5293閲覧

java.net.ProtocolException: unexpected end of streamのエラーが出ます

sarasa_38765

総合スコア34

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2019/12/27 01:07

##android初心者です。
##jsonでサーバーと通信する処理を作成しました。正常に稼動はするのですが1時間以上経過した際にjava.net.ProtocolException: unexpected end of streamのエラーが出て終了します。
##まだ実機では試していません。エミュレータ上の現象となります。
##エラー内容で検索すると以下の文を追加するとあるのですがどこの箇所に入れるのか分かりません。

java

1okHttpClient = new OkHttpClient.Builder() 2 .addNetworkInterceptor(new Interceptor() { 3 @Override 4 public Response intercept(Chain chain) throws IOException { 5 Request request = chain.request().newBuilder().addHeader("Connection", "close").build(); 6 return chain.proceed(request); 7 } 8 }) 9 .build();

java

1 public String getGET(){ 2 3 4 final String story_id = ""; 5 try 6 { 7 // APIを飛ばす処理 8 new AsyncTask<Void, Void, String>() { 9 10 @Override 11 protected String doInBackground(Void... params) { 12 String i_story_id = ""; 13 String email = "*******@******.co.jp"; 14 String password = "**********"; 15 16 String sendData = String.format("{ \"email\":\"%s\", \"password\":\"%s\" }",email, password); 17 18 try { 19 byte[] sendJson = sendData.getBytes("UTF-8"); 20 URL url = new URL("http://192.168.33.10/theater/Mainmenu/read/"); 21 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 22 23 // 接続するための設定 24 connection.setRequestMethod("POST"); 25 connection.setRequestProperty("Content-Type", "application/json"); 26 connection.setRequestProperty("Accept", "application/json"); 27 28 connection.setDoInput(true); 29 connection.setDoOutput(true); 30 connection.getOutputStream().write(sendJson); 31 connection.getOutputStream().flush(); 32 connection.getOutputStream().close(); 33 34 connection.connect(); 35 connection.getResponseCode(); 36 37 InputStream in = connection.getInputStream(); 38 BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 39 StringBuilder buf = new StringBuilder(); 40 String line; 41 42 while ((line = reader.readLine()) != null) { 43 buf.append(line); 44 } 45 46 JSONObject json = new JSONObject(buf.toString()); 47 48 reader.close(); 49 50 connection.disconnect(); 51 52 } catch(Exception e){ 53 e.printStackTrace(); 54 } 55 56 return i_story_id; 57 58 } 59 60 61 @Override 62 protected void onPreExecute() { 63 super.onPreExecute(); 64 } 65 66 protected void onPostExecute(String result) 67 { 68 int i_stage_no = Integer.parseInt(result); 69 if (story_no == -1) 70 { 71 story_no = i_stage_no; 72 } else { 73 if (story_no != i_stage_no) 74 { 75 Log.d("debug", "reload"); 76 story_no = i_stage_no; 77 String data = "email=********&password=*************"; 78 String url = "http://192.168.33.10/theater/Mainmenu/view"; 79 myWebView.postUrl(url, data.getBytes()); 80 81 } 82 } 83 } 84 85 86 }.execute(); 87 88 }catch(Exception e){ 89 e.printStackTrace(); 90 } 91 return story_id; 92} 93

error

12019-12-26 15:04:40.812 19215-19295/com.example.webview_001 W/System.err: java.net.ProtocolException: unexpected end of stream 22019-12-26 15:04:40.837 19215-19295/com.example.webview_001 W/System.err: at com.android.okhttp.internal.http.Http1xStream$FixedLengthSource.read(Http1xStream.java:396) 32019-12-26 15:04:40.837 19215-19295/com.example.webview_001 W/System.err: at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:371) 42019-12-26 15:04:40.837 19215-19295/com.example.webview_001 W/System.err: at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:288) 52019-12-26 15:04:40.837 19215-19295/com.example.webview_001 W/System.err: at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:351) 62019-12-26 15:04:40.837 19215-19295/com.example.webview_001 W/System.err: at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:180) 72019-12-26 15:04:40.837 19215-19295/com.example.webview_001 W/System.err: at java.io.InputStreamReader.read(InputStreamReader.java:184) 82019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.io.BufferedReader.fill(BufferedReader.java:172) 92019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.io.BufferedReader.readLine(BufferedReader.java:335) 102019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.io.BufferedReader.readLine(BufferedReader.java:400) 112019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at com.example.webview_001.MainActivity$2.doInBackground(MainActivity.java:145) 122019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at com.example.webview_001.MainActivity$2.doInBackground(MainActivity.java:101) 132019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:333) 142019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) 152019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 162019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 172019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 182019-12-26 15:04:40.838 19215-19295/com.example.webview_001 W/System.err: at java.lang.Thread.run(Thread.java:764)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ソースを細かくテストしたところ以下の行の""がいけなかったようでした。
String i_story_id = "";
便宜上 i_story_id = "0"として稼動させると問題なく実行しました。

投稿2019/12/27 07:37

sarasa_38765

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問