데이터를 받는 쪽은 데이터를 받자마자 응답하는 메시지를 보내는데요.
...... 안드로이드 에서는
데이터를 보내자 마자 Reader를 만들어서 읽으면 잘 읽힙니다.
PrintWriter out =new PrintWriter(networkWriter,true);
String return_msg = et.getText().toString();
out.println(return_msg);
BufferedReader in;
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
return_msg = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
Toast.makeText(EcoRiumActivity.this,"Coming word: " + return_msg,
Toast.LENGTH_SHORT).show();
위와같이 데이터를 보내자 마자 버퍼리더를 만들어 수신하면 잘 수신됩니다.
근데... 스레드를 통해 구현하면
while (true) {
Log.i("asdf","읽기전");
data = in.readLine();
Log.i("asdf","읽기후");
Toast.makeText(EcoRiumActivity.this,"Coming word: " + data,
Toast.LENGTH_SHORT).show();
저 안쪽 data=in.readLine(); 쪽에서 멈춰 읽기후 로그가 안찍힙니다.
데이터 수신에 좋은 소스코드 예제나 방법이 있으면 정보좀 부탁드립니다!




버퍼를 따로 지정하셔야 할겁니다. byte[1024] 이런식으로 버퍼크기를 지정하신후에
버퍼크기만큼 읽어서 write 해주셔야 합니다.