Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]140[/thread]

Chat Script programmieren



<< >> 4 Einträge, 1 Seite
[E|B]
 2004-01-11 19:22
#842 #842
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Heidiho!
Ja, schon wieder Chat. *g*
Ich möchte für meine CGI Seite einen Chat programmieren und ihn natürlich auch zum Download freigeben.
Jetzt frag ich mich, wie ich das angehen sollte. Welche Module benötige ich dafür? Wenn möglich nur Module, die auch in der Standarddistribution enthalten sind. Ich werde wahrscheinlich zwei Möglichkeiten zum Chatten anbieten: Client-Pull und Server-Push. Client-Pull hat bekanntlich den Nachteil, dass die Seite immer aktualisiert werden muss. Da ist Server-Push natürlich besser, da dieses lästige Neuladen entfällt. Nur weiß ich leider nicht, wie ich so etwas realisieren kann.
Welche Module?
Wie funktioniert Server-Push?
Wie handhabe ich das mit der Datenbank? Da ich speziell auch für Leute programmiere, die keine MySQL DB haben, muss das ganze auf Dateibasis erstellt werden. Nur wie mache ich das? Muss ich für jeden eingeloggten Benutzer eine extra Datei erstellen, in der dann die Nachrichten drin stehen?
Fragen über Fragen... ;)
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Strat
 2004-01-11 20:26
#843 #843
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
server-push (d.h. pseudo-serverpush) funktioniert so, dass das script fuer die ausgabe ewig laeuft und jede ausgabe ungebuffert zum client uebertraegt (muss teilweise mehr ausgegeben, damit der webserver nicht buffert). das problem dabei ist halt, wenn mal der "stream" abreisst, fliegt der user aus dem chat, und merkt es im schlimmsten fall nur daran, dass er keine nachrichten mehr bekommt

wenn mysql als datenbank nicht in frage kommt, kaeme auf den ersten Blick DB_File oder Tie::File in Frage. da braeuchte wahrscheinlich jeder user eine datei, in die hineingeschrieben wird, was er lesen soll. Vielleicht kann man dafuer aber auch IPC::Shareable verwenden...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
[E|B]
 2004-01-11 21:24
#844 #844
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
OK, das mit der DB wäre dann klar.
Nur mit welchem Modul realisiere ich so einen Server-Push?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Strat
 2004-01-11 21:56
#845 #845
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
CGI.pm? CGI_Lite? Es handelt sich dabei um ganz normales CGI
schau dir vielleicht mal http://www.ralfchat.com/ an, der funktioniert auch mit serverpush (allerdings nur in kombination mit DBI)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 4 Einträge, 1 Seite



View all threads created 2004-01-11 19:22.