서버로 부터 xml 메시지를 수신받아 파싱하는 기능을 구현중입니다.
서버측에서 보내는 xml 메시지는 길이가 엄청 긴대요.
<MSG>
<DATETIME>20150310150539</DATETIME>
<A>2</A>
<B>2</B>
<C>1</C>
<D>1</D>
..........
<DATETIME>20150310144346</DATETIME>
<A>2</A>
<B>2</B>
<C>2</C>
<D>2</D>
</MSG>
와 같이 메시지를 보냅니다.
안드로이드 클라이언트 측에서는 소켓에서 수신받는 버퍼의 크기를 4096
바이트로 설정하였기 때문에 이를 구분하기위하여
서버측에서 endcode 값을 추가하여 endcode 메시지를 수신받기 이전에는
전역변수로 선언된 string의 temp값에 저장하는 방식으로 구현하였습니다.
소스는 다음과 같은대요
// 전역 변수로 된 temp 값
string tempString = "";
socketValue = 수신받은값;
// endCode 확인
if(socketReceived != endCode)
{
tempString += socketValue
}
else
{
string result = tempString;
}
여기서 tempString이 기존 string 앞쪽 값이 짤리는걸 확인하였습니다.
string 길이 문제인가 싶어 stringbuilder를 사용해도 다음과 같은 현상이 발생하네요..
어떤 문제인가요?
고수님들 답변 부탁드립니다.