클라이언트 소켓 목록을 만들기 위해 추적기로 PHP 원격 서버가있는 Delphi XE5에서 P2P 응용 프로그램을 개발 중입니다. 나는 UDP 구멍 펀칭을 사용하면 클라이언트의 NAT가 PHP 원격 서버로 보낸 첫 번째 메시지에서 만든 임의의 포트를 닫거나 차단하도록 결정하는 경우 어느 시점에서 실패합니다.내 NAT에서 TCP/UDP 포트를 열어 P2P 응용 프로그램을 구성하려면 어떻게합니까?
그래서 저는 (Delphi로 작성된) 클라이언트에서 NAT를 사용하여 영구적 인 포트 구성을 만드는 방법을 알고 있습니다. 내 사용자가 라우터에 액세스하고 포트 전달을 구성하는 방법을 알아야하는 것은 원하지 않습니다.
PHP-P-H없이 소켓을 저장하기 위해 서버를 사용할 수 있습니까? 적어도 Delphi의 응용 프로그램이 실행되는 동안 포트는 열어 두어야합니까?
원격 서버에서 UDP 홀 펀치를 사용하기로 결정하면 다른 사용자가 직접 (P2P) 곧 연결하는 경우 NAT가 사용자의 로컬 PC에 열린 포트를 유지합니다.
해당 포트를 UDP로 열면 TCP를 사용할 수 있습니까?
Obs : Windows 32 및 Android로 컴파일하기 위해 Delphi XE5가 필요하므로 비 Windows 전용 솔루션이 필요합니다.
나는 이것이 내가 원하는 것을 UPNP라고 불렀다. 따라서이를 처리 할 구성 요소가 이미 존재해야합니다. – PSyLoCKe
참고 : http://embarcadero.newsgroups.archived.at/public.delphi.internet.winsock/201001/1001063144.html – Johan