C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[76295] socket통신 ReceiveBuf 관련질문
yjh [] 989 읽음    2022-05-02 13:31
안녕하세요


현재 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 이후의 수신값 어떻게하면 받을 수 있을까요?...

부탁드립니다 ㅠㅠ

  

+ -

관련 글 리스트
76295 socket통신 ReceiveBuf 관련질문 yjh 989 2022/05/02
76297     Re:socket통신 ReceiveBuf 관련질문 ㅁㅁ 989 2022/05/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.