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
[64436] Re:Re:Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요?
Lyn [tohnokanna] 1815 읽음    2011-05-24 16:25
블로킹 : All or Nothing

논블로킹 : All or Somebody or Nothing

용맨소녀 님이 쓰신 글 :
: 자꾸 질문드려서 죄송해요.. 글 이해력이 딸리다보니..;;
:
: 받는 도중에 타임아웃된다든가 해서 다시 그 위치부터 이어받기 하는 그런 일은 없다는 말씀이죠?
:
: 타임 아웃되면 무조건 해당 패킷을 처음부터 다시 받는다는 말씀으로 알아들어도 될까요?
:
: 남병철.레조 님이 쓰신 글 :
: : 블로킹소켓에서 잘려오지는 않을것입니다.
: : (이론상 잘릴리 없지만 네트워크라는 것이 함께 만들어가는 예외의 세상이기 때문에.. -_ -..)
: :
: : 타임아웃되면 다시 받아야하고, 그러나 받은 데이타가 정상인지 간단한 크기 확인 같은것은 필요합니다.
: : 특히 장비들을 거쳐서(라우터 등등) 먼길을 오게될때 타임아웃 등에 걸릴수있습니다.
: :
: : 받은 데이타를 채크하는것은 ... 서버가 견고해야 할 수록 패킷 검사는 철저해져야합니다.
: : 서버 간보는 패킷 등등을 잘 걸러내려면... ㅋ
: : 물론 방화벽 등 기본은 충분히 갖춘 환경하에서도 마찬가지입니다.
: :
: : 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:어느 분 말씀을 따라야 하죠? ^^ 남병철.레조 1572 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의 경우는 잘려서 오는걸 감안해야 하는건가요? 용맨소녀 1598 2011/05/24
64432                 Re:인디9의 ReadBuffer의 경우는 잘려서 오는걸 감안해야 하는건가요? 남병철.레조 1263 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.