Mailinglisten-Archive |
This is a multi-part message in MIME format. ------=_NextPart_000_0083_01C0ABD5.38886320 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Folgendes Problem: Das folgende geschmodder basiert auf phpLittleChat (http://www.gamate.com -- chat testen) Ich habe ein php Script, welches in einem Frameset aufgerufen=20 wird. Dieses Script liest in einer Endlosschleife eine Textdatei aus und printet deren Inhalt Zeilenweise. Solange ich dieses Script =FCber den Apache aufrufe habe ich Zugriff auf = die Session Variablen und habe somit eine eindeutige Identifizierung. = (Alle Dateien in dem Frameset wissen zu welchem user es geh=F6rt). Somit = kann die Ausgabe Userspezifisch geschehen. Das Problem ergibt sich in der Performance. Wenn viele Leute = gleichzeitig auf das Script zugreifen laufen eine Anzahl n von httpd = prozessen, die dann irgendwann den Server ganz sch=F6n belasten. Daher = die Idee einen Port zu =F6ffnen und die Ausgabe ohne Apache zu machen. = Ein connect auf diesen Port f=FCr das Script direkt mit einem = kompilierten PHP aus, sodass ich keine =DCberfl=FCssigen httpd prozesse = mehr habe - die performance ist besser. Wie kann ich nun eine eindeutige Information in diesem Script herstellen = ? Die sessionid sowie IP Adressen sind nicht zug=E4nglich. Ein versuch = war es die HTTP Anfragen des Clients mit md5() zu codieren und deren = checksumme mit den anderen Frames, die =FCber den Apache laufen zu = vergleichen. geht nicht. Anderes ergebnis. Zeit des Connects nach dem login benutzen um den Usernamen = herauszufinden geht auch nicht, da die frames bei einer nicht so = schnellen Verbinung nicht parallel abgerufen werden. Ich muss es irgendwie hinkriegen, den User Namen in den Outputstream = reinzubekommen ohne =FCber einen httpd prozes zu gehen. Das Script wird = hierzu mit einem compilierten PHP4.0.4pl1 direkt gestartet. Alle Achtung vor dem, der hierzu eine L=F6sung hat. Hier das komplette Script zum download als .tar.gz http://www.gamate.com/chat/phplittlechat0-4beta.tar.gz ------=_NextPart_000_0083_01C0ABD5.38886320 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Folgendes Problem:</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Das folgende geschmodder basiert auf=20 phpLittleChat<BR>(<A = href=3D"http://www.gamate.com">http://www.gamate.com</A> --=20 chat testen)</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Ich habe ein php Script, welches in = einem Frameset=20 aufgerufen <BR>wird. Dieses Script liest in einer Endlosschleife eine=20 Textdatei<BR>aus und printet deren Inhalt Zeilenweise.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Solange ich dieses Script =FCber den = Apache aufrufe=20 habe ich Zugriff auf die Session Variablen und habe somit eine = eindeutige=20 Identifizierung. (Alle Dateien in dem Frameset wissen zu welchem user es = geh=F6rt). Somit kann die Ausgabe Userspezifisch geschehen.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Das Problem ergibt sich in der = Performance. Wenn=20 viele Leute gleichzeitig auf das Script zugreifen laufen eine Anzahl n = von httpd=20 prozessen, die dann irgendwann den Server ganz sch=F6n belasten. Daher = die Idee=20 einen Port zu =F6ffnen und die Ausgabe ohne Apache zu machen. Ein = connect auf=20 diesen Port f=FCr das Script direkt mit einem kompilierten PHP aus, = sodass ich=20 keine =DCberfl=FCssigen httpd prozesse mehr habe - die performance ist=20 besser.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Wie kann ich nun eine eindeutige = Information in=20 diesem Script herstellen ? Die sessionid sowie IP Adressen sind nicht=20 zug=E4nglich. Ein versuch war es die HTTP Anfragen des Clients mit md5() = zu=20 codieren und deren checksumme mit den anderen Frames, die =FCber den = Apache laufen=20 zu vergleichen. geht nicht. Anderes ergebnis.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Zeit des Connects nach dem login = benutzen um den=20 Usernamen herauszufinden geht auch nicht, da die frames bei einer nicht = so=20 schnellen Verbinung nicht parallel abgerufen werden.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Ich muss es irgendwie hinkriegen, den = User Namen in=20 den Outputstream reinzubekommen ohne =FCber einen httpd prozes zu gehen. = Das=20 Script wird hierzu mit einem compilierten PHP4.0.4pl1 direkt=20 gestartet.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Alle Achtung vor dem, der hierzu eine = L=F6sung=20 hat.</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2>Hier das komplette Script zum download = als=20 .tar.gz</FONT></DIV> <DIV> </DIV> <DIV><FONT face=3DArial size=3D2><A=20 href=3D"http://www.gamate.com/chat/phplittlechat0-4beta.tar.gz">http://ww= w.gamate.com/chat/phplittlechat0-4beta.tar.gz</A></FONT></DIV></BODY></HT= ML> ------=_NextPart_000_0083_01C0ABD5.38886320--
php::bar PHP Wiki - Listenarchive