You are not logged in.

wcf.regNote.message

ShaoKhan

www.Spiegelwelt.com

  • "ShaoKhan" started this thread

Posts: 393

Location: 127.0.0.1

Occupation: EDV Dienstleister

  • Send private message

1

Thursday, April 10th 2008, 11:15am

Hilfe bei 'nem Chat

Hallo Community,

ich hab ein kleines Flash Chat Tutorial gefunden, welches ich etwas umgeschrieben habe.
Ablauf im Chat is folgender:

- User A gibt was ein
- Werte werden an ein php Script übergeben und in eine DB geschrieben
- anderes php Script liest (sekündlich) in der DB und gibt die Daten von User A an User B weiter

Mein Problem hierbei ist, das alles, was in der DB drin steht von den beiden, dauernd wiederholt wird. Wie kann ich das ändern ? Ich habs schon probiert per Flag, so das der geschriebene Text den Flag gesendet = 1 bekommt, sobald das erste mal aus der DB gelesen wurde, aber damit bin ich nicht viel weiter gekommen.

hat da auch keine Tips weiter parat.

Wäre für Tips und Ratschläge dankbar,

ShaoKhan
Leben heisst - Narben tragen.

Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Thursday, April 10th 2008, 12:10pm

Die Frage ist ob die Einträge in der DB nicht nach dem Senden sofort gelöscht werden sollten. Und selbst wenn Du eine Historie behalten willst würde ich lieber die DB Einträge in eine andere Tabelle packen und die direkte Chattabelle immer von allem befreien was gesendet wurde.

Ansonsten gibts auch für 5 Euro einen fertigen Flashchat der auch nicht das Problem mit dem sekündlichen Aktualisieren hat. Ich komm jetzt grade nicht auf den Namen aber den hab ich bei einem Kunden im Einsatz und der läuft dort ohne Probleme. Ist wie ich finde die perfekte Alternative wenn man weder Chatserver noch CGI bzw. Perl zum Einsatz bringen kann. PHP Chat ist wie ich finde immer ne mehr oder weniger schlechte Lösung.

Interessant wäre sowas mal zu überlegen mit Ajax. Ob das von der Serverlast her gut umsetzbar wäre?
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

davil

Beginner

Posts: 36

Location: Wien

Occupation: Entwickler

  • Send private message

3

Friday, April 11th 2008, 9:51am

Ich denke auch, dass PHP zum Erstellen von Chats denkbar ungeeignet ist. Rauslöschen wenn etwas schon gesendet wurde ist auf jeden Fall sinnvoll, sonst ist die Datenbank auch recht schnell so groß, dass es immer langsamer wird.

Ich kenn jetzt deinen konkreten Anwendungsfall nicht (ob das nicht einfach nur eine PHP-Übung war), aber wenn du einen vernünftigen Chat einbauen willst, würde ich an deiner Stelle nach bewährten Technologien Ausschau halten. IRC-Chats lassen sich zum Beispiel per Java-Applet o.ä. recht schön einbinden, und es gibt sicher auch noch einige andere Möglichkeiten.

Was du PHP-seitig auch noch tun könntest, wäre die Datenverbindung beim Empfangen permanent offen zu halten und regelmäßig in der DB nachzuschauen ob schon was neues drinsteht, und im Falle des Falles ausgeben und per flush() nachschicken. Bei PHP bist du damit natürlich auf die max_execution_time aus der php.ini beschränkt. Das würde zumindest den HTTP-Overhead deutlich reduzieren und sich insgesamt flüssiger anfühlen.
~~~ ihr seid alle krank! ~~~ :D

ShaoKhan

www.Spiegelwelt.com

  • "ShaoKhan" started this thread

Posts: 393

Location: 127.0.0.1

Occupation: EDV Dienstleister

  • Send private message

4

Saturday, April 12th 2008, 11:59am

Also ... es lief da vorher ein Java und das wollt der Kunde wech haben, daher Flash und PHP jetzt.
Geschriebenes aus der DB löschen ist nicht gewünscht, daher bleibt auch das da drin.
Dazu kommt, das es kein Community Chat für zig Leute ist, sondern einer für 'n sog. 1on1.
Momentan läuft er erst mal und funktioniert wie er soll. Werd da trotzdem noch etwas dran schrauben denk ich.
Leben heisst - Narben tragen.

wcf.user.socialbookmarks.titel