프로젝트 진행 하신다고 수고들 하시네엽..
제 개인적인 생각이지만..
몇자 적겠습니다. 그냥 참고만 하세엽..
우선 메시지는 항상 가변적일 것이라 생각됩니다.
어떤 특정 크기가 아니구요...
글구 tcp에서 한번에 전송할 수 있는 최대 크기는
1500byte-(tcp header) == 1440 -- IPv4기준
이지만 실제로 전송하는 크기는 그보다 훨씬작죠.
보통 350-500byte정도가 나오는것 같더군요.(windows계열에서..)
UDP에선 1k를 통채로 보낼 순 있지만..
packet이 너무 크게되면...
OS가 뻐더버리는것 같구요.(한번밖엔 발생하지 않았지만...)
글고 파일 전송에선...
buffer를 좀 크게 잡아주는게 좋져...
저같은 경우엔 32kbyte를 사용하니깐엽.. 64kb는 너무 크고요...
모두들 즐프하세엽.....
: 메시지 보내는 기본적인 방식입니다.
: {COMMAND:: DATA}
: {명령셋::데이타}
: //--------------------------------------------------------
: 패킷 크기를 정했습니다.
: 명령셋(1Byte)+데이터(1023Byte)
: 파일이름은 명령셋에 이건 전송파일이다가 들어간 다음에
: 데이터에 그런게 들어간다고 보면 됩니다..
: 명령셋+(파일이름+사이즈+데이터)
: //--------------------------------------------------------
: 결론 적으로.
: 한패킷은 1Byte + 1023Byte = 1K 입니다.
: 이렇게 결정한 내용입니다.
|