|
블로킹기능은 한개의 패킷을 수신할 때까지 TIME_OUT 시간 이내에서 대기 한다는 뜻이지
특정 사이즈를 모두 수신 할 때까지 기다리는 기능이 아닙니다.
패킷은 공유기나 라우터의 MTU(Maximum Transmission Unit) 사이즈 이내에서 편의적으로 짤려서 옵니다.
보통 MTU가 1500 바이트 보다 작기 때문에 그보다 큰 데이터를 한번에 수신 하는것은
공유기나 라우터를 한개라도 거치는 환경에서는 불가능 합니다.
따라서 인디도 TCP나 UDP 레벨에서는 긴데이터는 잘려서 오기 때문에 여러번 수신해야 할 것입니다.
< 추가 :다만 자동으로 패킷을 여러번 송수신 해주는 TCPClient.IOHandler.WriteFile 이나 LargeStream 관련
함수를 사용하면 자체적으로 한번에 보내는것 처럼 구현할 수 있어 보입니다.>
용맨소녀 님이 쓰신 글 :
: 잘리지 않을 것 같은데.. 지금까지 잘리지 않는다고 생각하고 썼고요..
:
: 100% 절대 잘릴 일이 없는건가요? 여기에 대해선 잘 모르겠어요..
|