[Dresden-pm] Re: Massives Problem mit IO::Socket und HTTP
Mike Reiche
su-root at web.de
Fre Mar 12 06:30:19 CST 2004
Am Freitag, 12. März 2004 11:25 schrieb Steffen Schwigon:
> Mike Reiche <su-root at web.de> writes:
> > Hallo Mailingliste,
> >
> > ich hab vor ein paar Tagen einen Chat-Server geschrieben, der
> > HTTP-Anfragen vom Browser annimmt und den Chat in einem Stream darstellt.
>
> Ich versteh noch nicht ganz, was ein "Chat-Server" ist, und was ein
> Browser dabei tut.
Ein Web-basiertet Chat-Server mit dem man sich via Browser darauf verbinden
kann, die Chat-Text kommt dann über ein Stream mittels AUTOFLUSH direkt an
den Browser. Dabei hört die Seite nie auf zu laden. Ist die gängigste Methode
einen Web-basierten Chat zu schreiben. Wie t2bc, chatcity etc.
> Was für'n Protokoll machst Du da konkret?
Ich lese den HTTP-Header aus und sende HTTP zurück.
> Hast Du mit dem TELNET auch auf den Port Deines Servers zugegriffen
> oder nur den Telnetport probiert?
Wenn mein Server auf Port 1234 läuft, habe ich mich natürlich mit
# telnet hostname:1234 verbunden
und danach meine HTTP-Anfragen per Hand eingegeben, dann funktioniert es
wunderbar.
> Firewall-Regeln könnten ja auch inhaltsbezogen sein.
> Was für'n Provider hängt dazwischen?
Tiscali.
> Eine abgespeckte Version solltest Du überhaupt bauen, also auch für
> Dich selbst, um Dein Problem einzugrenzen. Also z.B. erstmal nur die
> rohe Socketkommunikation bauen; nachdem das geht, darüber HTML
> austauschen, danach Inhalte verpacken, usw.
>
> Dann ist der Problempunkt vielleicht klarer.
Das habe ich schon gemacht, ich habe ja auch ältere Versionen versucht, es ist
wie verhext. Seitdem habe ich auch sonst nichts am System verändert, weder
Upgrade noch sonst irgendwas softwaretechnisches.
Ich lege mal den Server bei (wenn ich das darf).
Nehmt am besten Port 1234.
Danach müsst ihr die Ausgabe unter Beobachtung halten, es werden hin und
wieder Fehler auftreten aber die sind nicht wesentlich.
Man verbindet sich dann via Browser an "http://hostname:1234" und dahinter
kommen dann evt. Variablen mit "/?cmd=connect&username=mike" (etc.)
Wichtig ist aber dass der HTTP-Header ausgedruckt wird, man erkennt ihn am
"GET" zu Beginn.
Mein Problem ist, dass der Server bei "Objekt erstellt.." stehenbleibt und die
HTTP-Anfrage leer ist. Nur netzintern funktioniert es, als gäbe es übers
Internet ein Timeout.
Es ist mindestens Version 5.6.1 vorrausgesetzt.
Danke und Grüße,
Mike
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde geschreddert...
Dateiname : best-server.perl
Dateityp : application/x-perl
Dateigröße : 10861 bytes
Beschreibung: nicht verfügbar
URL : http://mail.pm.org/pipermail/dresden-pm/attachments/20040312/40c7edea/best-server.bin