안녕하세요
현재 plc와 TCP socket 통신 중 수신한 데이터가 0x46 0x49 0x4E 0x53 0x00 0x30 ... 이라는 데이터가 수신 되어야 하는데
이걸 ReceiveText 함수로 AnsiString 타입으로 받다보니 0x30 이라는 데이터가
null 때문에 짤려서 수신이 안되는 것 같습니다.
그래서 ReceiveBuf 함수를 사용해보려고 하는데 리턴값이 int형이더군요.
0x00 이후 데이터까지 모두 수신하고 싶은데
ReceiveBuf 함수 사용법 좀 자세히 알려주실분 있으실까요??..
int RcvLength = Socket->ReceiveLength();
char *RcvData = new char[RcvLength+1];
Socket->ReceiveBuf(RcvData, RcvLength);
현재 위처럼 코드를 작성한 뒤
ReceiveLength 함수를 사용했을때 받아와지는 Length는 24개인데
RcvData에 실제로 나오는 값은
RcvData[0] = 0x46
RcvData[1] = 0x49
RcvData[2] = 0x4E
RcvData[3] = 0X53
RcvData[4] = 0x00
5개입니다.
null 이후의 수신값 어떻게하면 받을 수 있을까요?...
부탁드립니다 ㅠㅠ
|