char buf[1024];
int len;
while(1) {
len = read(socket, buf, sizeof(buf));
strcat(buf, "\r\n");
send(socket, buf, sizeof(buf),0);
String rcvData = "ERROR";
BufferedReader networkReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
rcvData = networkReader.readLine();
log.log(rcvData);
위에가 서버에서 소켓통신 후에 accept 한 후 데이터를 읽고 보내는 코드입니다. 밑에는 안드로이드에서 데이터를 받으면 출력하는 코드입니다.
서버는 리눅스에서 C로 작성했고 클라이언트는 안드로이드입니다.
안드로이드에서 서버로 보내는 데이터는 잘 나오는데 서버에서 안드로이드로 데이터를 보내면
그 데이터의 길이가 이전에 보냈던 데이터 길이보다 짧을때 이전에 보냈던 값들이 뒤쪽에 남아있습니다.
12345 다음 0을 보내면 02345 이렇게요
어떻게 해결해야할까요..