質問編集履歴

1

先ほどのものを書き換えて一応受信して表示できるようになりましたが望むデータをすべて受信できていないようです。

2015/12/23 22:07

投稿

toukibi
toukibi

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,18 @@
1
- 現在android端末から文字列を送ってPCのサーバで受信された文字列を標示するプログラムを作りたいのですが続をして,クライアント側は送信しているものの受信したデータが表示されません。何がいけないかどうかご教授おねがいします。
1
+ 現在android端末から文字列を送ってPCのサーバで受信された文字列を標示するプログラムを開発してのですが、連した文字列を送信した場合に最初一行みしか受信できていません。にしたら連続した文字列を受信できるようになるでしょう
2
+
3
+ どうぞよろしくお願いいたします。
2
4
 
3
5
  ```lang-java
4
6
 
5
7
  import java.io.BufferedReader;
6
8
 
9
+ import java.io.BufferedWriter;
10
+
7
11
  import java.io.IOException;
8
12
 
9
- import java.io.InputStreamReader;
13
+ import java.io.InputStream;
10
14
 
11
- import java.io.PrintWriter;
15
+ import java.io.OutputStream;
12
16
 
13
17
  import java.net.ServerSocket;
14
18
 
@@ -32,15 +36,29 @@
32
36
 
33
37
 
34
38
 
35
- ServerSocket ss = null;
39
+ ServerSocket ss;
36
40
 
41
+ Socket socket;
42
+
43
+ InputStream in;
44
+
37
- String line = null;
45
+ OutputStream out;
46
+
47
+ BufferedReader br;
48
+
49
+ BufferedWriter bw;
50
+
51
+ int rcevsize;
52
+
53
+
38
54
 
39
55
  // サーバソケットの作成
40
56
 
41
57
  try{
42
58
 
43
59
  ss = new ServerSocket(port);
60
+
61
+ byte[] buf = new byte[BUFSIZE];
44
62
 
45
63
 
46
64
 
@@ -50,31 +68,25 @@
50
68
 
51
69
  System.out.println("接続待機中...");
52
70
 
53
- Socket socket = ss.accept(); // クライアントの接続を取得
71
+ socket = ss.accept(); // クライアントの接続を取得;
54
-
55
- socket.setReceiveBufferSize(BUFSIZE);
56
72
 
57
73
  SocketAddress clientAddress = socket.getRemoteSocketAddress();
58
74
 
59
75
  System.out.println("接続中:" + clientAddress);
60
76
 
61
-
77
+ in = socket.getInputStream();
62
78
 
63
- BufferedReader in= new BufferedReader(new InputStreamReader(socket.getInputStream()));
79
+ out = socket.getOutputStream();
64
80
 
65
-
81
+
66
82
 
67
- PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
83
+ while ((rcevsize = in.read(buf)) != -1) {
68
84
 
69
-
85
+ String str = new String(buf,0,buf.length,"UTF-8");
70
86
 
71
- line = in.readLine();
87
+ System.out.println(str);
72
88
 
73
- while ((line = in.readLine()) != null) {
74
-
75
- System.out.println(line);
76
-
77
- out.println(line);
89
+ out.write(buf, 0, buf.length);
78
90
 
79
91
  }
80
92
 
@@ -88,7 +100,7 @@
88
100
 
89
101
  }
90
102
 
91
-
103
+ // 到達不能コード
92
104
 
93
105
  }
94
106