Wie kann ich einen Portlistener-Code auf dem Server erstellen, auf dem sich meine Website befindet?

730
Arun Cheriyan

Ich habe meine Website in Godaddy gehostet und möchte eine TCP-Datenübertragung der Embedded Application mit der IP- und Port-Nummer meiner Website testen. Dafür kann ich jedes PHP-Skript (so etwas wie ein Port-Listener ) verwenden, das ausgeführt werden kann mit dem Browser? welche könnten die über tcp empfangenen daten ausdrucken?

Ich werde nicht mit PHP verwendet, kann mir jemand dabei helfen?

0
PHP läuft nicht im Browser. Es wird auf dem Server ausgeführt. Wenn Sie einen TCP-Port überprüfen möchten, sollten Sie `telnet` verwenden. Versuchen Sie vielleicht etwas ausdrucksvoller mit dem, was Sie tun möchten. Seth vor 6 Jahren 0
Hallo, ich meine damit, die PHP-Datei auf den Server hochzuladen und über den Browser darauf zuzugreifen. Arun Cheriyan vor 6 Jahren 0

1 Antwort auf die Frage

1
Putnik

Zunächst werden die meisten Paddy-Konten geteilt. Dies bedeutet, dass Sie keinen Zugriff auf Root oder Firewall haben. In diesem Fall können Sie es dort nicht tun - entweder mit PHP oder auf andere Weise.

Wenn Sie über root verfügen und sichergestellt haben, dass die Firewall Eingangsverbindungen zu dem gewünschten Port zulässt, können Sie einen TCP-Wrapper verwenden xinetd, um ein beliebiges Skript an einem bestimmten Port abhören zu lassen. Bitte beachten Sie, dass dies im Allgemeinen eine schlechte Idee ist, da solche Wrapper möglicherweise gleichzeitige Verbindungen nicht ordnungsgemäß verarbeiten.

Wenn Sie es immer noch möchten, stellen Sie sicher, dass der zu verwendende Port nicht von einem anderen Prozess belegt wird (z. B. 80 und 443 vom Webserver). Die Orte, an die Sie die Ausgabe des PHP-Skripts steuern können, sind z. B. Datei oder Datenbank. Sie können die Daten nicht direkt an einen Browser senden, da es in Chain Sender-Xinted-PHP keinen Browser gibt. Sie benötigen z. B. ein weiteres PHP-Skript, das hinter dem Webserver ausgeführt wird, um Daten aus einer Datei oder DB zu erhalten und an den Browser zu senden.

Kann ich also auf dem Server (auf dem meine Site gehostet wird) ein PHP-Skript schreiben, um einen Port anzuhören, und möglicherweise drucken, was empfangen wird oder in eine Datei schreiben? . Ich werde Daten (Client) an die IP- und Port-Form eines GSM-Moduls senden. Jetzt sende ich es an Port 80, aber ich habe keine Möglichkeit herauszufinden, was auf dem Server angezeigt wird. Arun Cheriyan vor 6 Jahren 0
"Drucken" bedeutet normalerweise "An Ausgabe senden". Es gibt keine Standardausgabe für den Service, es sei denn, Sie geben diese an (z. B. Datei). Wenn Sie sehen möchten, was auf dem Server vorkommt, schreiben Sie ein Protokoll, und Sie können es in Echtzeit von der Shell aus betrachten, z. B. "tail -f / path / to / log_file" (ich nehme an, Sie sind unter Linux). Putnik vor 6 Jahren 0
kann ich dies tun, indem ich nur über das TCP-Protokoll auf die IP-Adresse und den Port (vom Client, vom GSM-Modul) zugreifen kann, oder sollte ich einen http-Post verwenden? Arun Cheriyan vor 6 Jahren 0
Sie müssen den Netzwerkstapel studieren, http gibt tcp an, aber tcp ist nicht erforderlich. Sie können verwenden, was auch immer Sie möchten, auch icmp oder udp, aber Sender und Empfänger sollten sich verstehen. Wenn Ihr Serverskript http nicht versteht, ist es nicht sinnvoll, Postanforderungen zu senden. Xinetd arbeitet hauptsächlich mit TCP. Putnik vor 6 Jahren 0