m_in_stream = m_client_soket.getInputStream();
r_size =( byte ) m_in_stream.read();
r_message_id = ( byte )m_in_stream.read();
String readdata = String.format( "size : %d, id : %d" , ( int )r_size,( int )r_message_id);
data = new byte [( int )r_size+ 1 ];
for ( int i= 0 ;i<( int )r_size;i++){
data[i ] = ( byte ) m_in_stream.read();
Log.d( "<Comm-read>" , "reading....." );
}
data[( int )r_size] = '\0' ;
r_data = data;
Log.d( "<SUBJECT>" ,r_data.toString());
|
위 코드는 클라이언트(안드로이드) 중에서도 메시지 수신부분만 자른부분입니다
제일 마지막 라인에서... 로그켓에 로그를 찍어보면. 스크린샷에 보이듯 전혀 상관없는 문자열이 나오네요.
실험적으로 전송한 문자열은 fortune이라는 문자열입니다.
msg size / msg id / msg body 의 형태로 하나의 패킷을 구성하여 전송해봤는데.
메시지아이디 / 메시지 크기 같은 integer 벨류는 문제없이 받아서 출력까지 성공했습니다.
그런데 msgbody에 실리게되는 fortune 문자열은 엉뚱한 문자조합으로 출력되네요.
(참고로 반대로 클라이언트에서 서버쪽으로 보내는 문자열은 정상적으로 잘 출력되고있습니다)