소켓 프로그래밍 읽은 값 분석....?

FlyChicken의 이미지

ttt 2 111 ->>처음 시작 부분
ttt 2 0 8 N 1028364355 0
ttt 2 1 8 N 1028364355 0
ttt 2 2 8 N 1030362527 0
ttt 2 3 8 N 1036054975 0
ttt 2 4 8 N 1038683748 0
ttt 2 5 ...[길이가 길어 나중으로 미뤄진 부분]

[ttt][2][현제까지 받은번호][총보낼번호][.....][......]


위와 같은 형식의 스트림을 recv 하는데

길이가 커서 한번에 다 받아 오질 못해 중간에 끊기는 경우도 생기고 해서

이걸 어떻게 끝까지 다 받았는지 확인할 방법을 도저히 모르겠어서

질문 드립니다. 위에 표현해 놓은것은 대폭 축소 시켜논 부분입니다.

버퍼 크기를 무지막지하게 늘려도 어느 정도까지 밖에 수신을 못하네요..

라인 단위로 받으면 어떻게 해보겠는데.....희망에 빛을 주시면...부탁드립니다.^^

mach의 이미지

socket readline으로 검색해보시기 바랍니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

chadr의 이미지

원래 tcp는 stream방식이라서 send한 숫자와 recv하는 숫자하고 일치 하지 않습니다.

말 그대로 스트림이므로 종료라는 것도 존재하지 않으므로 프로그램에서 알아서 종료 구분을 해주셔야합니다.
effective tcp/ip 책을 추천해드립니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.