소켓 통신중 문제 되는 부분이 있어 해결방안을 얻고자 글을 씁니다.
클라이언트 프로그램이며 서버에서 바이너리 데이터를 주면
데이터를 받아서 클라이언트 동작을 실행합니다.
문제는 데이터 수신을 받을 때 정상적으로 데이터를 받을때도 있지만
한번씩 버퍼에 수신되지 못한 데이터나 남아있는 값들로 인해서
정상적으로 프로그램 실행이 안될때가 있습니다.
public void run() {
readBuffer = new byte[4096];
int count = -1;
while ((count = dis.read(readBuffer, 0, readBuffer.length)) != -1) {
// 수신받은 데이터 처리구간
}
};
도움 주시면 감사드리겠습니다.