pc-안드로이드 소켓연결을 한 상태에서 데이터를 주고 받습니다.
그 경우 영어나, 숫자는 잘 나오지만 한국어는 전송과정에서 수신측에서 확인할경우 이상한문자
(바이트문자? 깨져서 나옵니다)
.
혹시 이 문제를 해결할 수 있을까요?
데이터 전송간 부분소스는 아래와 같습니다.
데이터 설정
public void setData(String data){
System.arraycopy(data.trim(), 0, packet, 시작위치, data.trim().getBytes().length);
packet[LEN_PROTOCOL_TYPE + data.trim().getBytes().length]='\0';
}
데이터 반환
public String getData(){
return new String(packet, LEN_PROTOCOL_TYPE, LEN_DATA).trim();
//packet 은 프로토콜 + 데이터로 구성 즉 페킷에서 type를 빼고 데이터만을 trim()으로 추출
}
pc - 앱 간 스트림 선언
inputStream os = cs.getOutputStream();
outputStream is = cs.getInputStream(); //cs 는 소켓