|
인디10 최신버전으로 공부하고있습니다.
idtcpclient 가 접속을 했을때 서버에서는 클라이언트의 포트번호를 추출하여 화면에 표시해주려고 합니다.
BYTE szUserTemp[255];
String PORT_add = AContext->Binding->PeerPort;
memset(szUserTemp, 0, sizeof(szUserTemp));
szUserTemp[0] = cn;
sprintf(&szUserTemp[1],"%s",PORT_add.c_str());
이런 식으로 구성을 하였을때 szUserTemp[1] 에는 포트번호의 첫번째 숫자만 들어가더군요..
PORT_add의 data를 보면
Watch Name Value
IP_add { u"4693" }
Data :00F1219C L"4693"
[0] L'4' 52U (0x0034)
[1] L'6' 54U (0x0036)
[2] L'9' 57U (0x0039)
[3] L'3' 51U (0x0033)
[4] L'\0' 0U (0x0000)
이런식으로 잘 들어가있는데..
szUserTemp
[0] '&' 38 (0x26)
[1] '4' 52 (0x34)
[2] '\0' 0 (0x00)
[3] '\0' 0 (0x00)
[4] '\0' 0 (0x00)
[5] '\0' 0 (0x00)
[6] '\0' 0 (0x00)
데이터는 이렇게 저장되네요...
찾아본 원인으로는 바이트 오더링 때문이라고 하는데 해결방법좀 알려주세요..
|