서로다른 사설네트웍(ex. 공유기) 상에 있는 두 PC간의 p2p통신을 위해서는 NAT라는 네트웍 기술을 뚫을 수 잇는 방법을 이용해야 한다. 그게 바로 홀펀칭(Hole Punching)이라고 하는데, 이를 검색하다 보니 아래 링크와 같은 논문을 발견하였다. 도식화도 잘되어 있고 한글로 번역되어 있는 문서이기 때문에 많은 도움이 될것이라 생각된다. 나도 이를 보고 학습중이데, 이론으로 되었지만, 코드로는 구현이 될지... - 논문번역 링크 http://lshsblog.blogspot.com/2011/04/hole-punching_18.html - 테스트 예제 링크 http://blog.naver.com/holmes5?Redirect=Log&logNo=90121751185
회사에서 개발 하던중, Java로 클라이언트 프로그램을 개발할 필요가 생겼다. 졸작을 할때, 소켓통신을 이용하여 오목게임을 만든적도 있지만 그때는 정말 허접하게 만들었다는 생각이 든다. 물론, 실무와서 보는게 많게 되어서 그렇게 된것이지만... 소켓 통신에 대해서 내 머릿속에 있는 걸로 이야기 할려고 한다. 100% 정확하다고는 말할 수 없기에 의심하는 눈초리로 보았으면 한다. 1. 소켓동작 원리 직접 설명하는거 보다 아래 링크로 설명하는게 제일 정확하고 빠를듯 하다. - JavaStudy ( Stream과 Socket ) http://www.javastudy.co.kr/docs/lec_java/sang/stream_socket.html 2. 삽질. - 서버에서 커넥션을 끊을 경우!? 증상 : 메시지를 ..