문제

프로세스를 IP 주소로 매핑하는 C# 코드가 있습니다. 기본적으로 프로세스를보고 IP 주소를 제공하여 친구가 찾을 수있는 모니터를 작성할 수있는 소프트웨어를 작성하려고합니다. 게임에서.

내 응용 프로그램을 실행할 때 게임 프로세스에 UDP 연결이 있지만 IP 주소를 얻을 수없는 것 같습니다.

패킷 스니퍼를 실행하고 78.111.229.123:32000이 라우터/게이트웨이에 표시되지만 응용 프로그램에는 표시되지 않습니다.

나를 실행하고 실행할 아이디어가 있습니까?

도움이 되었습니까?

해결책

게임 애플리케이션에서 소켓을 어떻게 설정하고 있습니까? 소켓 설정 코드의 예를 게시 할 수 있습니까?

소켓을 만들 때 와일드 카드 주소와 포트를 사용하고 있습니까? 게임 애플리케이션이 특정 IP 주소와 포트에 구속되지 않는 경우 문제의 원인이 될 수 있습니다.

또 다른 질문 : 로컬 IP 주소, 원격 IP 주소 또는 둘 다를 감지하려고합니까?

원격 IP 주소를 감지하려는 경우 게임 응용 프로그램이 알려진 것을 사용하지 않는 한 불가능할 수 있습니다. 연결된 UDP 소켓. 이곳은 클라이언트 애플리케이션 호출이 UDP 소켓에 연결되어 기본 OS의 로컬 및 원격 소켓 간의 연관성을 만듭니다. 위의 링크에 나열된 특정 장점과 단점이 있습니다.

편집하다

이것을 살펴보십시오. Windows의 소켓 번호에서 PID?

이것은 내가 생각한 것을 확인합니다. 게임이 연결된 UDP 소켓을 사용하지 않는 한 원격 주소를 얻을 수있는 유일한 방법은 패킷 스니핑입니다.

게임을 시작하고 실행하십시오 netstat -ap UDP - 원격 주소가 나열되어 있지 않다면 위의 의심을 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top