Indy 컴포넌트 팩을 사용하고있다. 사실 나는 udp를 통해 P2P 네트워크를 만드는 데 성공했으며 현재는 여전히 작동하지만 udp를 사용하면 매번 핑 패키지를 보내야하며, 그렇지 않으면 라우터가 매핑 포트 목록의 가상 포트를 제거합니다! udp를 통한 비디오 또는 사운드 또는 게임 프로젝트의 경우 가장 좋은 방법이지만 내 프로젝트의 경우 tcp를 통해 필요합니다.나는 P2P 네트워크를 통해 TCP를 만들려고 시도하고있다.
나는 어떻게 했는가 : 나는 1 대의 서버 기계가 실제 ip를 소유하고있다. P2P 모드로 전환하기 전에 모든 클라이언트가 서버에 패키지를 보내야한다. 이제는 서버가 라우터의 모든 클라이언트 가상 포트 (아웃 포트)를 알게된다. , 어떤 클라이언트가 다른 클라이언트에게 데이터를 보내고 싶다면, 라우터의 다른 클라이언트 IP와 가상 포트로 데이터를 보내면됩니다. 라우터가 자동으로 매핑 할 수 있습니다.
나는 TCP에서 같은 방식으로 시도했지만, 클라이언트는 데이터를 다른 클라이언트의 IP 및 가상 포트 (라우터)로 보냈지 만 TCP 클라이언트 구성 요소는이를 수신하지 못했습니다! UDP로 그것은
를받을 수 있습니다 그런데 왜 내가 idtcpserver 구성 요소와 함께 사용하여 서버 시스템에 데이터를 보낼 수있는 방법을
또는 UDP
또는 tcp 클라이언트가 다른 클라이언트에 연결할 수 없습니다. ( – relativ