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
[64432] Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요?
남병철.레조 [lezo] 1262 읽음    2011-05-24 13:31
블로킹소켓에서 잘려오지는 않을것입니다.
(이론상 잘릴리 없지만 네트워크라는 것이 함께 만들어가는 예외의 세상이기 때문에.. -_ -..)

타임아웃되면 다시 받아야하고, 그러나 받은 데이타가 정상인지 간단한 크기 확인 같은것은 필요합니다.
특히 장비들을 거쳐서(라우터 등등) 먼길을 오게될때 타임아웃 등에 걸릴수있습니다.

받은 데이타를 채크하는것은 ... 서버가 견고해야 할 수록 패킷 검사는 철저해져야합니다.
서버 간보는 패킷 등등을 잘 걸러내려면... ㅋ
물론 방화벽 등 기본은 충분히 갖춘 환경하에서도 마찬가지입니다.

TCP/IP의 경우 3메가 파일도 그냥 툭~ 던지면 상대편에서 잘 받습니다.
특히 내부 네트워크라면 장비의 버퍼가 넘치지 않는이상 UDP도 사실상 손실이 없습니다.

블로킹으로 주고 받는다면 타임아웃 처리와 간단한 패킷 크기 검사 정도로도 충분히 잘 동작합니다.



용맨소녀 님이 쓰신 글 :
: 답변 감사드리고요..
:
: 크게는 10만 적게는 1만바이트 정도의 패킷이 연달아 오는 경우가 있는데요.. 토탈 3메가 정도 됩니다..
:
: 서버에서 그 이상 안보내게 처리를 하고 있는데, 현재까지로는 내부 테스트에서 잘리는 경우는 없었거든요..
:
: 만약 잘리는 경우가 생기면 예외처리에서 time out이 돌려지는 건지요?
:
: time out 에러가 나면 다시 처음부터 받아야 하는건지.. 아니면 일부패킷을 받기 때문에 저장해 뒀다가 그 다음부터 받아야하는건지 모르겠네요..
:
: 이런 상황을 만들 수가 없어서 테스트가 안되네요.. 흠..
:
: nansama 님이 쓰신 글 :
: : 블로킹기능은 한개의 패킷을 수신할 때까지 TIME_OUT 시간 이내에서 대기 한다는 뜻이지
: : 특정 사이즈를 모두 수신 할 때까지 기다리는 기능이 아닙니다.
: :
: : 패킷은 공유기나 라우터의 MTU(Maximum Transmission Unit) 사이즈 이내에서 편의적으로 짤려서 옵니다.
: : 보통 MTU가 1500 바이트 보다 작기 때문에 그보다 큰 데이터를 한번에 수신 하는것은
: : 공유기나 라우터를 한개라도 거치는 환경에서는 불가능 합니다.
: :
: : 따라서 인디도 TCP나 UDP 레벨에서는 긴데이터는 잘려서 오기 때문에 여러번 수신해야 할 것입니다.
: : < 추가 :다만 자동으로 패킷을 여러번 송수신 해주는 TCPClient.IOHandler.WriteFile 이나 LargeStream 관련
: :  함수를 사용하면 자체적으로 한번에 보내는것 처럼 구현할 수 있어 보입니다.>
: :
: : 용맨소녀 님이 쓰신 글 :
: : : 잘리지 않을 것 같은데.. 지금까지 잘리지 않는다고 생각하고 썼고요..
: : :
: : : 100% 절대 잘릴 일이 없는건가요? 여기에 대해선 잘 모르겠어요..

+ -

관련 글 리스트
64394 인디9 도 패킷이 잘려져오는 현상이 있나요? 용맨소녀 1528 2011/05/20
64423     Re:인디9 도 패킷이 잘려져오는 현상이 있나요? 달빛자르기 1925 2011/05/24
64418     어느 분 말씀을 따라야 하죠? ^^ 용맨소녀 1596 2011/05/23
64420         Re:어느 분 말씀을 따라야 하죠? ^^ 남병철.레조 1571 2011/05/23
64419         Re:어느 분 말씀을 따라야 하죠? ^^ nansama 1423 2011/05/23
64425             Re:Re:어느 분 말씀을 따라야 하죠? ^^ Lyn 1414 2011/05/24
64429                 Re:Re:Re:어느 분 말씀을 따라야 하죠? ^^ nansama 1543 2011/05/24
64422             인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요? 용맨소녀 1597 2011/05/24
64432                 Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요? 남병철.레조 1262 2011/05/24
64434                     Re:Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요? 용맨소녀 1362 2011/05/24
64436                         Re:Re:Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요? Lyn 1815 2011/05/24
64435                         Re:Re:Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요? 남병철.레조 1608 2011/05/24
64416     Re:인디9 도 패킷이 잘려져오는 현상이 있나요? Lyn 1625 2011/05/23
64415     Re:인디9 도 패킷이 잘려져오는 현상이 있나요? 남병철.레조 1341 2011/05/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.