Auslesen von Informationen die über einen UDP-Port gesendet werden
Hallo liebes Administratorboard,
ich habe einen Gameserver der via UDP auf einem bestimmten Port daten an einen Listingserver sendet. Der Gameserver läuft auf einem Windowsserver, nun zu dem kern der Frage:
Kann ich diese gesendeten Daten irgendwie auslesen um sie via PHP anzeigen lassen zu können?
Das Problem ist das der Listingserver häufig offline ist und ich die Daten auf meiner Homepage anzeigen lassen möchte!
MfG
TheAlex
ich habe einen Gameserver der via UDP auf einem bestimmten Port daten an einen Listingserver sendet. Der Gameserver läuft auf einem Windowsserver, nun zu dem kern der Frage:
Kann ich diese gesendeten Daten irgendwie auslesen um sie via PHP anzeigen lassen zu können?
Das Problem ist das der Listingserver häufig offline ist und ich die Daten auf meiner Homepage anzeigen lassen möchte!
MfG
TheAlex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 372891
Url: https://administrator.de/contentid/372891
Ausgedruckt am: 24.11.2024 um 16:11 Uhr
12 Kommentare
Neuester Kommentar
Ohne das gesendete Format zu kennen : Glaskugelraten.
Zitat von @TheAlex:
Ok, es handelt sich um das OpenSource Game Simutrans, bin leider nicht der Programmierer aber jemand der mehr ahnung hat sollte das format bestimmt rausfinden oder nicht?
Sicher, mach dir ein Socket das auf dem Port lauscht und analysiere den Input oder belausche die Kommunikation direkt mit Wireshark.Ok, es handelt sich um das OpenSource Game Simutrans, bin leider nicht der Programmierer aber jemand der mehr ahnung hat sollte das format bestimmt rausfinden oder nicht?
Einfach obigen Link mal genau lesen und sich damit minimal beschäftigen.
http://php.net/manual/de/function.socket-listen.php
http://php.net/manual/de/function.socket-listen.php
gut, das du das erwähnst. Ich wollte heute noch mit Sheldon die Geheimnisse des Universums lösen.
Gibt es eigentlich irgendwo ein Schild im Internet, auf dem steht, dass man hier kostenlose Programmierarbeit bekommt?
Gibt es eigentlich irgendwo ein Schild im Internet, auf dem steht, dass man hier kostenlose Programmierarbeit bekommt?
Na das sieht doch schon anders aus.
Bin nicht der PHP-Pro - aber folgende sehen ganz nett aus:
https://www.phpgangsta.de/udp-nachrichten-versenden-und-empfangen
https://www.binarytides.com/udp-socket-programming-in-php/
Vor allem sieht man da, das SOCK_DGRAM genutzt wird. Dazu hier ein weiterer Hinweis: http://php.net/manual/de/function.socket-create.php
Gruß
Bin nicht der PHP-Pro - aber folgende sehen ganz nett aus:
https://www.phpgangsta.de/udp-nachrichten-versenden-und-empfangen
https://www.binarytides.com/udp-socket-programming-in-php/
Vor allem sieht man da, das SOCK_DGRAM genutzt wird. Dazu hier ein weiterer Hinweis: http://php.net/manual/de/function.socket-create.php
Gruß
Moin,
erstmal musst du dir darüber klar werden WAS du willst:
a) einen Listener -> d.h. ein Programm welches Daten empfängt
b) einen Sender -> d.h. du willst irgendwo was hin senden
Wenn ich das beim überfliegen so richtig sehe versuchst du dein Glück mit nem Listener. An sich ja nich schlimm, aber der Port ist doch bereits von deinem Server belegt. Jeder Port kann genau EINMAL zur Zeit belegt sein. Wenn also dein Server bereits gestartet ist dann hat der sich den Port gegriffen und dein PHP-Programm kann nix tun! Fertig.
Es wäre allerdings eh unsinnig auf die Art rauszufinden ob der Server noch läuft. Nehmen wir an du hast dein Programm irgendwie davon überzeugt den Port zu bekommen - dann würdest du die Daten lesen aber dein Server würde die nicht bekommen... (Und ganz nebenbei: Ein erfolgreicher durchlauf deines Programmes würde bedeuten das der Server gecrasht ist... auch ne coole Variante, ist mal was neues).
Willst du also wissen ob dein Server noch läuft kannst du
a) prüfen ob die PID noch existiert / der Prozess noch läuft
b) prüfen ob der Port noch offen ist
c) so dein Server-Prozess nen Monitoring zulässt kommandos hinschicken und das Ergebnis anfragen.
Und um deine nächste Frage vorwegzunehmen: Bauen können das vermutlich viele im Handumdrehen, ohne eigene Bemühung wird aber wohl keiner das machen wollen (da es auch "unsere" Freizeit ist )
erstmal musst du dir darüber klar werden WAS du willst:
a) einen Listener -> d.h. ein Programm welches Daten empfängt
b) einen Sender -> d.h. du willst irgendwo was hin senden
Wenn ich das beim überfliegen so richtig sehe versuchst du dein Glück mit nem Listener. An sich ja nich schlimm, aber der Port ist doch bereits von deinem Server belegt. Jeder Port kann genau EINMAL zur Zeit belegt sein. Wenn also dein Server bereits gestartet ist dann hat der sich den Port gegriffen und dein PHP-Programm kann nix tun! Fertig.
Es wäre allerdings eh unsinnig auf die Art rauszufinden ob der Server noch läuft. Nehmen wir an du hast dein Programm irgendwie davon überzeugt den Port zu bekommen - dann würdest du die Daten lesen aber dein Server würde die nicht bekommen... (Und ganz nebenbei: Ein erfolgreicher durchlauf deines Programmes würde bedeuten das der Server gecrasht ist... auch ne coole Variante, ist mal was neues).
Willst du also wissen ob dein Server noch läuft kannst du
a) prüfen ob die PID noch existiert / der Prozess noch läuft
b) prüfen ob der Port noch offen ist
c) so dein Server-Prozess nen Monitoring zulässt kommandos hinschicken und das Ergebnis anfragen.
Und um deine nächste Frage vorwegzunehmen: Bauen können das vermutlich viele im Handumdrehen, ohne eigene Bemühung wird aber wohl keiner das machen wollen (da es auch "unsere" Freizeit ist )
ich habe einen Gameserver der via UDP auf einem bestimmten Port daten an einen Listingserver sendet. Der Gameserver läuft auf einem Windowsserver, nun zu dem kern der Frage:
Kann ich diese gesendeten Daten irgendwie auslesen um sie via PHP anzeigen lassen zu können?
Kann ich diese gesendeten Daten irgendwie auslesen um sie via PHP anzeigen lassen zu können?
Wenn ich das Richtig verstehe dann verstehe ich das anders als anderen hier :-o
Dein Game Server sendet UDP an eine Externe Adresse, Du willst das abfangen und ggf. selber zu Anzeige bringen.
Richtig ?
Wenn Ja, vergiss den ganzen Socket Quatsch, den das Zeugs ist dafür da einen Port zu öffnen der dann auf Daten Lauscht.
Dazu mus der Game Server dann aber auch dahin senden.
Du benötigst dann einen Sniffer der den interessanten Traffic auslesen kann und dir Verfügung stellt.
Den kannst du dann weiterverarbeiten. Wireschark bzw. Tschark würden dafür gehen. Ist aber wohl mit
der Kanone auf den Spatz geschossen. Der Unterbau hhttps://de.wikipedia.org/wiki/WinPcap wäre die Basis
für eine maßgeschneiderte APP setzt aber voraus das Du was von der Materie Verstehst dich einarbeitest.