UDP 홀펀칭
UDP 홀펀칭을 하는 이유는 클라이언트와 클라이언트간 UDP 통신을 하기 위함이다. 서버와는 굳이 사용할필요없을듯. TCP로 사용하면 되니 1. A와 B가 서버로 TCP를 통해 접속하게 만들어 봅시다. 2. 사용자 A와 B가 UDP로 통신하고 싶을때에 서버로 UDP를 쏘게 합시다. (물론 서버는 UDP 쓰레드가 따로 하나 필요하겠죠..) 3. UDP 쓰레드에서 A와 B로부터 UDP 패킷을 받으면 TCP로 그만 쏘라고 보냅니다. (이건 뮤텍스나 락을 걸어서 각각의 쓰레드가 안전하도록 잘 설계합니다.) 4. TCP로 A와 B에게 상대방의 공인아이피와 포트를 알립니다. 5. A와 B는 서로의 공인아이피로 UDP 통신을 합니다. * UDP는 자기가 보낸적이 있는 장소(ip:port) 로 들어오는것들만 받을수 있..
2007. 1. 15. 14:33