Immer noch Problemme mit flush()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Immer noch Problemme mit flush()

    Also mein Chatscript funktioniert inzwischen.
    http://www.et-world.de/chat3/

    Jedoch ist jetzt das Problem da, dass nach ca. 90 bis 100 eintragungen im Chat die Ausgabe hängen bleibt... und die flush() versagt an der grossen Menge vermute ich. Wie ist es den möglich dies zu umgehen und die Ausgabeanzahl der Nachrichen zu begrenzen um den PHP Interpreter zu entlasten?

    Mein Quellcode der die Ausgabe steuert füge ich bei.

    PHP-Code:

    @set_time_limit(9999);

    for(
    $i 0$i 10$i++){
      
    $spaces.="<!-- Buffer = $i -->";


    while(
    1){

    // ********************************* AUSLESEN aus CHAT.CSV ****************************

    $ausgabe ReadLastMsg();

    // ********************************* ENDE AUSLESEN aus CHAT.CSV ****************************

    if ($test==$ausgabe[$x]) $ausgabe[$x]="";
    else {
        
    $test $ausgabe[$x]; 
        
    $ausgabe[$x] = "\n".$ausgabe[$x]."<script>self.scrollTo(0,10000);</script><br>\n";
            }

      
    sleep(1);
      print (
    $spaces."".$ausgabe[$x]);
      
    flush();

    Download ET-Chat v3.x.x

  • #2
    PHP-Code:
    $ausgabe ReadLastMsg(); 
    ich denke das ist ein entscheidender teil, warum sagst du nicht, was da passiert?

    PHP-Code:
    if ($test==$ausgabe[$x]) $ausgabe[$x]=""
    x ist immer 10, warum also die variable?

    Kommentar


    • #3
      ich dachte das Auslesen spiel keine Rolle... aber ok, hier ist die volle Version:

      PHP-Code:

      <?php
      print "Last message: ";

      @
      set_time_limit(9999);

      for(
      $i 0$i 10$i++){
        
      $spaces.="<!-- Buffer = $i -->";



      while(
      1){
      // ********************************* AUSLESEN aus CHAT.CSV ****************************

      $name="chat.csv";
      $trenner "¶"// Trenner für die CSV Datei



       
      $bol=file_exists($name);
       if(
      $bol){
           
      $datei=fopen($name,"r");
           
      $groesse=filesize($name);
          
      $data=fgetcsv($datei,$groesse,$trenner);

          while(
      $data!=false){
              
      $x++;     
              
      $ausgabe[$x] = "<b>".$data[2].":</b> ".$data[3];
              
      $ausgabe[$x] = stripcslashes($ausgabe[$x]); // entfernt (\) vor Sonderzeichen
              
      $data=fgetcsv($datei,$groesse,$trenner);
              }
          
      fclose($datei);
      }

      // ********************************* ENDE AUSLESEN aus CHAT.CSV ****************************
      if ($test==$ausgabe[$x]) $ausgabe[$x]="";
      else {
          
      $test $ausgabe[$x]; 
          
      $ausgabe[$x] = "\n".$ausgabe[$x]."<script>self.scrollTo(0,10000);</script><br>\n";
              }

        
      sleep(1);
        print (
      $spaces."".$ausgabe[$x]);
        
      flush();


      ?>
      Download ET-Chat v3.x.x

      Kommentar


      • #4
        Tada, jetzt wird immerhin schon mal der sinn von x klar.

        ich weiß ja echt nicht, warum ihr meint, dass der code mehr sinn macht, wenn man die hälfte weg lässt. dass sich da immer wieder fehler einschleichen sollte doch klar sein.

        ich würde einfach mal sagen, dass dein script, bzw. dein server kein bock mehr hat, bzw. ausgelastet ist. du hast da ne endlosschleife vor dir.

        Kommentar

        Lädt...
        X