그래서 NAT-Punchthrough를 읽었습니다. 나는 아이디어를 얻고있는 것 같지만 그것을 구현하는 데 어려움을 겪고있다. 나는 여기서 한 걸음도 놓치고 있다고 느낀다. 인터넷 기반 연결과 관련하여 환경을 제어 할 수있는 권한이 없기 때문에이 기능을 테스트하는 것은 어렵습니다.P2P 개념을 이해하는 Nat Punchthrough
서버와 클라이언트의 외부 주소와 외부에서 볼 수있는 포트를 유지하는 "촉진자"로 실행할 SQL 서버가 있습니다. - 서버/클라이언트 IP/포트를 저장하는 웹 요청 (PHP 스크립트)을 통해 SQL 서버에 연결합니다. - 둘 다 알고있는 경우 클라이언트와 서버가 모두 연결을 시도합니다 (서버 호스트 설정된 포트에서 클라이언트가 설정된 포트를 통해 연결) - 아무런 의미가 없습니다.
여기에 2 개의 알 수없는 점이 있으며 사용자와 함께 확인하고 싶습니다. NAT-Punchthrough가 정확한 (내부/LAN) 포트를 가지고 첫 번째 단계를 수행해야한다는 것은 사실입니까? 그 다음 단계에서 연결할 계획입니까?
그렇다면 내 서버가 수중에서 작동하는 방법을 정확히 모르기 때문에 연결에 사용할 초기 고정 포트를 더 필요로할지 모르지만 적어도 힌트를 제공합니다.
누구든지이 문서에 대해 더 알고 있다면 알려 주시기 바랍니다.
출처 :
Programming P2P application
http://www.mindcontrol.org/~hplus/nat-punch.html
그래서 짧은 이야기가 짧습니다. 단지 1 포트 또는 선형 증분으로 우리 자신의 NAT- 펀치 스루를 만들 수 있다고 생각하는 것은 순진한 일이며 따라서 대신 우리에게이 "마법"비트를 제공하는 서비스를 찾아야합니다. – Smileynator
시도 할 수없는 이유는 없지만 [이전 연구] (http://www.brynosaurus.com/pub/net/p2pnat/)에 따르면 일부 기술을 사용하면 성공률이 60 % 정도가 될 수 있다고합니다. 시도하고 결과를 얻는다면 - 다른 사람들이 자신이 한 일을 알면 커다란 피드백이 될 것입니다. –
우리는 최소한 생산에 90 %까지 도달 할 수 있어야하므로이 문제로부터 벗어날 것입니다. NAT-Punchtrough를 제공 할 수있는 서비스가 있습니다. 그러나 내 지식에 그들은 모두 물건처럼 소켓을 할, 그래서 당신은 리눅스 serverto 실행이 붙어 있어이 마술을 할. 그들은 대략 90 % 성공을 주장한다. 100 %의 신뢰성을 원한다면 RELAY 서버를 사용하여 붙어 있습니다. RELAY 서버는 Photon Networking과 비슷합니다. 이것은 종종 비용이 많이 들고, 특히 우리가 보내고 자하는 데이터의 부하 때문에. 소규모 팀에 오기가 너무 어렵습니다! #지연 – Smileynator