GetExtendedUdpTable und Remote-IP-Adresse
Frage
Ich habe einige c # -Code bekam die Mapping-Prozesse ist IP-Adressen, ich bin im Grunde versucht, eine Software zu schreiben, die in einem Prozess aussehen und geben Sie mir die IP-Adresse, so dass ich einen Monitor schreiben können, die Freunde können zu finden, um in den Spielen sein.
Wenn meine Anwendung ausgeführt wird, obwohl es feststellt, dass ein Spiel Prozess eine UDP-Verbindung hat, aber ich kann nicht die IP-Adresse zu bekommen scheint.
Ich habe einen packetsniffer laufen und 78.111.229.123:32000 zeigt auf dem Router / Gateway, aber es ist in meiner Anwendung nicht angezeigt.
Alle Ideen, um mich und läuft?
Lösung
Wie setzen Sie die Steckdose in der Spielanwendung auf? Können Sie ein Beispiel Ihres Buchse Setup-Code schreiben?
Sind Sie mit der Wildcard-Adresse und Port, wenn die Buchse zu schaffen? Ich vermute, dass, wenn Ihre Spielanwendung bindet nicht an eine bestimmte IP-Adresse und Port ausdrücklich, dass möglicherweise die Ursache des Problems sein.
Eine weitere Frage: versuchen Sie die lokale IP-Adresse, Remote-IP-Adresse oder beide
zu erkennen?Wenn Sie versuchen, die Remote-IP-Adresse zu erkennen, kann dies unmöglich sein, es sei denn, das Spiel Anwendung verwendet, was als verbunden UDP-Sockets . Dies ist, wo die Client-Anwendung fordert die UDP-Socket-Verbindung eine Verbindung zwischen den lokalen und Remote-Buchsen im zugrunde liegenden Betriebssystem zu erstellen. Dies hat gewisse Vorteile und Nachteile, wie in dem obigen Link aufgeführt.
Bearbeiten
Werfen Sie einen Blick auf diese SO Post: PID von Socket-Nummer unter Windows
Dies bestätigt ziemlich viel, was ich dachte, -. Es sei denn, das Spiel mit angeschlossenen UDP-Sockets ist dann der einzige Weg, der Lage sein, die Remote-Adresse zu bekommen, ist über Packet Sniffing
das Spiel und laufen netstat -ap UDP
Start up -. Wenn Sie sehen, dass es keine Remote-Adressen aufgelistet dann, dass die über jeden Verdacht erhaben bestätigen würde