Klaus Mock: Server mit Perl

Beitrag lesen

Hallo,

der ein oder andere weiß vielleicht, das ich für die Schule einen Server in Perl programmieren muß/will.

Ich will doch nur hoffen, daß Du Perl programmieren _willst_ und es nicht nur tust, weil Du _mußt_;-)

while ($sock_to_client = $server_sock->accept() )
{
  ### hier ###
  $curr_time = localtime();
  print $sock_to_client "$curr_time $server_sock\n";
  $sock_to_client->close();
}
close($server_sock);

Wißt ihr, wie ich an diesen String herankomme?

Du kannst $sock_to_client als Dateihandle betrachten, in den Du schreiben _und_ von dem Du lesen kannst.

es funktioniert also auch
$daten = <$sock_to_client>;

Das Lesen und Schreiben muß allerdings in geordneten Bahnen erfolgen, also in Deinem Falle exakt nach dem HTTP-Protokoll, da beide Seiten der Verbindung genau wissen müssen, wann sie lesen und wann sie schreiben sollen.

Ich nehme das die entsprechenden Erweiterungen an der Stelle, die ich mit ### hier ### gekennzeichnet habe erfolgen müssen.

Ja. Du mußt so lange zeilenweise einlesen, bis Du eine Leerzeile empfängst. Dann ist der GET-Request fertig.
Die eingelesenen Zeilen mußt Du dann analysieren, um zur gewünschten Information zu gelangen (hier also 'GET /html/texte/index.html HTTP/1.0')

Dann kannst Du eine entsprechende Antwort senden, vergiß allerdings nicht, daß Du für das HTTP-Protokoll auch einen passenden Response Header zurücksenden mußt.

Grüße
  Klaus