Specter
Chatausgabe problem
- perl
Hello,
ich mach es ganz kurz und bedanke mich schon jetzt für die antworten .....falls welche kommen.
Also: ich möchte ein Chat in perl schreiben ich habe letztens nach informationen gesucht und bin an einen chat geraten der nur mit textdateien bzw. Dateien arbeitet. Leider kostet das Chatprogramm etwas und ich möchte keine paar hundert euro dafür ausgeben.
Ich sag es hier ganz deutlich: ich WILL einen chat basirend auf textdateien aufbauen ich weiss das sich eine datenbank mit telnet oder irc oder oder besser verwirklichen lässt aber ich (ich betone es nochmals:) ICH WILL einen Chat mit TEXTDATEIEN aufbauen und ja ich weiss das er einige nachteile haben wird wie ein richtiger "Chat". Ich will nichts lesen davon dass ich doch ein richtigen chat schreiben sollte *fg*
Ich wollte es kurz machen sorry *gg*
Pro user wird eine datei angelegt mit dem dateinamen seiner ip dort werden userinformationen gespeichert.
Nun frag ich mich wie ich es am besten mache mit der Chatausgabe. In vielen chats ist es ja so das der textverlauf erst beginnt wenn man den chat betritt sprich: ich möchte nicht das wenn der user den chat betritt den ganzen chatverlauf der in der datei gespeichert wird angezeigt bekommt sondern nur ab dem zeitpunkt wo der user den chat betritt. Wie kann man sowas machen? den verlauf mit in die userdatei schreiben? das geht auf die ressourcen da gibt es doch bestimmt einen besseren weg?
danke mfg
Wie kann man sowas machen? den verlauf mit in die userdatei schreiben? das geht auf die ressourcen da gibt es doch bestimmt einen besseren weg?
egal wie du es machst, ein Chat in der Form ist bedeutet immer grossen Resourcenverbrauch.
Aber ich vermisse die Perlfrage auf die ich dir gerne Antworten würde.
Struppi.
Also: ich möchte ein Chat in perl schreiben ich habe letztens nach informationen gesucht und bin an einen chat geraten der nur mit textdateien bzw. Dateien arbeitet. Leider kostet das Chatprogramm etwas und ich möchte keine paar hundert euro dafür ausgeben.
Ich sag es hier ganz deutlich: ich WILL einen chat basirend auf textdateien aufbauen ich weiss das sich eine datenbank mit telnet oder irc oder oder besser verwirklichen lässt aber ich (ich betone es nochmals:) ICH WILL einen Chat mit TEXTDATEIEN aufbauen und ja ich weiss das er einige nachteile haben wird wie ein richtiger "Chat". Ich will nichts lesen davon dass ich doch ein richtigen chat schreiben sollte *fg*
Und welches Protokoll möchtest du verwenden? http?
Ob du deine Datenbank selbst schreibst ist sekundär.
Ich wollte es kurz machen sorry *gg*
Pro user wird eine datei angelegt mit dem dateinamen seiner ip dort werden userinformationen gespeichert.
Was hat eine IP mit einem user gemeinsam?
Identifiziere den user via einem Login Prozess und einer Session-ID
Nun frag ich mich wie ich es am besten mache mit der Chatausgabe. In vielen chats ist es ja so das der textverlauf erst beginnt wenn man den chat betritt sprich: ich möchte nicht das wenn der user den chat betritt den ganzen chatverlauf der in der datei gespeichert wird angezeigt bekommt sondern nur ab dem zeitpunkt wo der user den chat betritt. Wie kann man sowas machen? den verlauf mit in die userdatei schreiben? das geht auf die ressourcen da gibt es doch bestimmt einen besseren weg?
Ein Chat ist recht simpel.
Er ist ja nichts anderes als ein Formular-Submit / Datenverwaltung / Datenausgabe in einer Session-orientierten Request/Response Beziehung.
Aber vielleicht sollten wir uns erst mal über das zu verwendende Protokoll plus die Sprache für die GUI verständigen?
mfg Beat
Hello,
danke für die rasche antwort. Protokoll ist http ja benutze cgi. Stimmt session id ist ein guter tipp.
Mein Problem nochmal
Ich weiss nicht wie ich es anstellen sollte das jeder User den Chatverlauf erst ab dem Zeitpunkt sieht ab dem er den chat betritt.
soll ich den ganzen Chatverlauf in eine datei schreiben oder jedem user einen eigenen chatverlauf geben?
Eine konkrete perl frage ist das zwar nicht aber ich denke in jeder programmiersprache löst man solch ein problem anderst und mich interessiert nur wie man das in perl löst *g*
danke für die rasche antwort. Protokoll ist http ja benutze cgi. Stimmt session id ist ein guter tipp.
Mein Problem nochmal
Ich weiss nicht wie ich es anstellen sollte das jeder User den Chatverlauf erst ab dem Zeitpunkt sieht ab dem er den chat betritt.
soll ich den ganzen Chatverlauf in eine datei schreiben oder jedem user einen eigenen chatverlauf geben?
Wenn du deinen Chat schnell halten willst, wirst du auch die aktive Reportdatei klein halten wollen. Das heisst, du könntest periodisch Messages älter als YYYY-MM-DD in ein backupfile speichern (oder ganz darauf verzichten).
Du kannst einen User ja konfigurieren lassen, ob er nur Nachrichten der letzen Stunde, des letzten Tages oder der letzten zwei Tage angezeigt haben will.
Eine konkrete perl frage ist das zwar nicht aber ich denke in jeder programmiersprache löst man solch ein problem anderst und mich interessiert nur wie man das in perl löst *g*
Ein Tipp: Ein Chat ist nichts anderes als ein Affenformular mit einer Session.
Du wirst zuerst eine Login und eine Session-Prüfroutine schreiben.
Ich selbst habe einen sehr simplen Chat geschrieben. Hier wird der Chatreport in einem Iframe ausgegeben, derweil das Formular selbst im Parentdokument steht. Ich arbeite dabei mit
<meta http-equiv='refresh' content='60; URL=http://example.org/some.pl?par=val'>
um dynamisch zu refreshen.
Um meine Implementation anzutesten, müsstest du auf meiner Seite dich registrieren und einloggen.
mfg Beat
Hello beat und danke nochmals.
wäre es nicht besser nach jeder eingabe die datei neu zu laden? so braucht man kein refresh und sieht die eingaben fast in echtzeit?
das mit dem einstellen ist zwar keine schlechte idee aber sowas möchte ich nicht, ich möchte einfach nur das bei dem user erst ab dem zeitpunkt wo er den chat betritt der chat anfängt. Es ist schwer zu erklären. Bei vielen chatsystemen ist es ja so das wenn man den chat betritt erst ab dem zeitpunkt der user lesen kann was die leute schreiben. Was zuvor geschrieben wurde kann er nicht sehen.
Wie machen die richtigen chatsysteme das?#
vielen dank mfg
Yerf!
Wie machen die richtigen chatsysteme das?#
"Richtige" Chatsysteme (wie z.B. IRC) senden die von einem Benutzer empfangene Nachricht sofort ohne Zwischenspeicherung an die anderen Benutzer weiter (ich denke mal, dass ist auch das, was hotti mit fifo ausdrücken wollte). Eine Log-Datei wird vom Server höchstens zusätzlich noch mitgeschrieben.
Bei einem Chat über HTTP wird das natürlich schwieriger, da hier eine Ziwschenspeicherung notwendig wird (außer man benutzt irgendwelche server-side Push-Techniken). Ein mitspeichern der Uhrzeit wird da wohl unumgänglich werden.
Gruß,
Harlequin
hi,
soll ich den ganzen Chatverlauf in eine datei schreiben oder jedem user einen eigenen chatverlauf geben?
wieso datei? Fifo und gut. Dümmes Geschwätz in Dateien schreiben, tse, tse, tse :)
Hotte
hi,
Pro user wird eine datei angelegt mit dem dateinamen seiner ip dort werden userinformationen gespeichert.
das geht schonmal in die Hose, wenn sich die IP beim schätten ändert (was die bei mir ständig macht).
Hotte