제가 지금 안드로이드 클라이언트로 C 서버로 통신을 하고있는 도중에

C 서버에서 Send를 보낼시 안드로이드 클라이언트에서 Recv(inputstream)으로 받고 출력할때 변수값을 해쉬코드로 출력합니다..

서버에서 Send를 보낼땐 정상적으로 문자열을 보내는것을 확인하였습니다..

코드는 이렇게 되어있습니다.

 

  //buffer.order(ByteOrder.BIG_ENDIAN);
   in.read(test, 0, test.length); <- 서버에서 보낸 문자열을 읽는다.
   
   Log.d(TAG, "111" + test);
   //temprecv = new String(test, 0, test.length);
   
   view.setText(test.toString()); // toString 메서드를 사용해서 TextView에찍어준다.
  
   out.flush();

 

/// 혹시나해서 서버쪽에서하는 샌드코드도 적어봅니다.. 근데제생각에 이쪽엔이상이없습니다..


void SendTestData(SOCKET cid, char* test)
{
 S_TESTA a;

 strcpy(a.var,test); // 파라미터로넘어온문자열 복사해서넘김

 char temp[200];

 memcpy(temp, &a, sizeof(a));

 send(cid, temp, sizeof(temp), 0);

 printf("SENDING MSG : %s\n", test);
}

//

 

안드로이드 클라이언트에서 변수값을 받는건 이런식으로 되어있습니다 test변수는 byte형배열변수입니다

서버에서 보내는 자료구조는 문자열이구요. toString 메서드를 사용하면서 그렇게되는거같은데 이거외에는 다른건 아예 쓰레기값이

떠버리더라구요.. 바이트오더링은 혹시나 문제인가해서 바꾸어보았습니다. 문제점이 뭔지좀 지적해주시면감사하겠습니다.