teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ご指摘頂いた部分のソースコードを掲載します。

2019/01/20 14:11

投稿

shalllaugh
shalllaugh

スコア17

title CHANGED
File without changes
body CHANGED
@@ -22,4 +22,56 @@
22
22
  それぞれのBufferedをcloseしてしまっているから
23
23
  文字列の送受信が繰り返して行えないのでしょうか?
24
24
 
25
- 参考にできそうなURLなどでもありがたいので、よろしくお願い致します。
25
+ 参考にできそうなURLなどでもありがたいので、よろしくお願い致します。
26
+
27
+ ### ソースコード
28
+ ```Java
29
+ private void clientAnswerSocket() {
30
+ try {
31
+ // サーバーのポート番号を指定
32
+ clientAnswerSocket
33
+ = new ServerSocket(50005);
34
+
35
+ // 正解を受信するまでループ
36
+ while (loop) {
37
+ // 接続待機
38
+ acSocket = clientAnswerSocket.accept();
39
+
40
+ // 受信ストリームの取得
41
+ isr = new InputStreamReader(acSocket.getInputStream());
42
+ br = new BufferedReader(isr);
43
+ ra = br.readLine();
44
+
45
+ answerDouble = Double.parseDouble(ra);
46
+
47
+ if(questionDouble == answerDouble) {
48
+ loop = false;
49
+ }
50
+ }
51
+
52
+ // ソケットを閉じる
53
+ acSocket.close();
54
+ }
55
+ // 例外処理
56
+ catch (IOException e) {
57
+ e.printStackTrace();
58
+ }
59
+ finally {
60
+ try {
61
+ // 解答の表示
62
+ if(br != null) {
63
+ br.close();
64
+ }
65
+ if(isr != null) {
66
+ isr.close();
67
+ }
68
+ }
69
+ // 例外処理
70
+ catch (IOException e) {
71
+ e.printStackTrace();
72
+ }
73
+ }
74
+ }
75
+
76
+   この他、socketのcloseはプログラムを終了させる位置など別の場所で記述しています。
77
+ ```

1

タグを修正しました

2019/01/20 14:11

投稿

shalllaugh
shalllaugh

スコア17

title CHANGED
File without changes
body CHANGED
File without changes