4124
2015-03-30 20:45:40
1
1. UDP는 순서를 보장하지 않습니다.
2. UDP는 패킷이 올바로 도착한다는 보장을 하지 않습니다.
3. 데이터그램을 너무 잘게 쪼개지 말고 적당한 크기로 그냥 보내세요. OS레벨에서 MTU에 맞춰 다시 잘라서 보냅니다.
4. MTU 크기가 자동으로 정해지면 문제가 되는 특이한 환경인 경우 윈도는 레지스트리에서 설정 가능합니다. http://blog.sollae.co.kr/?p=638
5. 라우터가 연결이 끊긴다면 불량이니 AS를 받으세요.
6. 데이터그램에 데이터만 넣지 말고 별도의 시퀀스 넘버를 넣으세요. 그러면 몇개가 손실되었는지, 순서를 어떻게 맞출 것인지 어플리케이션에서 통제할 수 있습니다.
7. TCP로 해봤다는 그 테스트는 패킷 크기가 아닙니다.
8. 네트워크로 자료가 전송되기 전에 너무 빨리 send()를 호출하면 OS 버퍼에서 문제가 일어날 수 있습니다. 적당히 sleep() 하세요.
9. 웬만하면 그냥 TCP를 쓰세요.