Seite 4 von 8
Verfasst: 20.02.2005 15:41
von pogi02
MVXA hat geschrieben:pogi02 hat geschrieben:1. Wie empfange ich die Nachricht die gesendet wurde mit dem Browser?
In dem du bei deinem HTTP Chat Server einfach für jeden eingelogten Browser einen Buffer anlegst. In dem Buffer steht dann seine persönliche HTML Datei mit den Nachrichten. Wenn ein Browser eine Anfrage sendet überprüfst du die IP/Browser Agent. Dann sendest du seinen spezielen Buffer in HTML form.
Rofl
Deine Antwort ist zwar gut überlegt doch das verbraucht doch viel zu viel Speicher stell dir mal vor da sind 20 User oder mehr online ^^
Also jetzt mal eine kleine Funktion wie ich mir das vorstelle
Code: Alles auswählen
SEvent.l = NetworkServerEvent() ;Serverevent
ClientID = NetworkClientID() ;ClientID beziehen
Select SEvent
Case 2
ReceiveNetworkData(ClientID, Buffer, 1000)
massage=PeekS(Buffer)
ResetList(Client())
While NextElement(Client())
SendNetworkData(Client()\id, massage)
Wend
endselect
Also wenn ein neuer User verbindet werden die Daten in Client() gespeichert
Und wenn jetzt der´Server was empfängt dann sendet er die Massage an alle Clienten:
While NextElement(Client())
SendNetworkData(Client()\id, massage)
Wend
Würde das so funktionieren?? Also das ist jetzt nur so eine schnelle funktion wie ich mir das vorstelle.
Er würde aber allen Clienten (Browser) eine Nachricht schicken das problem ist ja nur wie lasse ich diese Daten von den Browser verarbeiten?
Verfasst: 20.02.2005 15:51
von MVXA
Najo. Musste halt im HTTP Head angeben, dass der Client die Verbindung aufrecht erhalten soll. Dann kannst du dem Browser immer was nach senden.
Verfasst: 20.02.2005 22:36
von honk
hi
ich kannte da mal einen Java-Applet Chat der vorher runtergeladen werden musste und dann eben als eigenes Fenster also als fast "echtes" Programm lief
Also damit kannst du eine stetige Verbindung aufbauen und PB schickt dann von sich aus einfach Daten zu den Clients.
Vielleicht kannst ja ein bissel Java, da gibts ja auch noch
http://www.selfjava.de 
Verfasst: 21.02.2005 12:20
von hardfalcon
Um vom Browser aus Daten zum Server zu schicken, gibt es AFAIK doch bei den HTML-Formualren (<form>) einen "submit"-button, mit dem man die Daten zum Server schickt. Wie sollte PHP das denn sonst hinkriegen? dann muss der Server diese Antwort abfangen und verarbeiten. Um dem Client daten zu schicken, generiert der Server eine neue HTML-Seite, sobald er neue Daten erhalten und verarbeietet hat. Diese generierten HTML-Seiten müssen dann (wie von anderen Usern schon gesagt) das META-Tag "refresh" mit einer Zeitangabe von max. 1 Sekunde enthalten, sodass der Chat dauernd refreshed/reloaded wird. Wer nicht die ganze Seite neu laden will, bindet das Ganze halt als <iframe></iframe> ein.
cya
Pascal
Verfasst: 21.02.2005 15:31
von bluejoke
Iframe ändert doch nichts an der tatsache, dass das Teil immer wieder neu geladen wird. Es ist dann bloß nicht mehr die ganze Seite.
Das Problem ist halt, dass der Traffic so viel höher ist, als wenn nur die neuen Daten gesendet werden.
Aber ohne Flash/Java lässt sich das wohl nicht umgehen.
Verfasst: 22.02.2005 11:19
von hardfalcon
@bluejoke: da hast du natürlich recht.
Verfasst: 25.02.2005 14:17
von pogi02
aha also so einen Java ähnlichen Chat kann man mit PB nicht schreiben? also das man nicht immer reloaden muss?
EDIT:
Ist es mit PB möglich übers Internet Sounds und Musik zu senden?
Also ich meine jetzt nicht die ganze Sounddatei sondern nur den Sound selber so wie bei einem Webradio?
Verfasst: 25.02.2005 14:55
von bluejoke
Zu deiner EDIT-Frage: Ja
Zu deiner Java-Frage: Nein, das ist nicht möglich. Auch für Java brauchst du schließlich ein spezielles Plugin.
Du kannst natürlich ein Plugin schreiben, mit dem das dann funktioniert, aber wofür das Rad zweimal erfinden? Ich würde einfach Flash nehmen, dass kann man sogar ganz gut dynamisch (d.h. zur Laufzeit deinse Tools, also kann man beispielsweise über PHP Flash programmieren) erstellen.
Damit gelingt ein Chat auch ganz gut (siehe z.B. icq.com)
Verfasst: 26.02.2005 20:16
von pogi02
Hallo
Ähm soweit ich weiss braucht man bei Java aber kein Plugin.
Du meinst vielleicht bei einem Java Applet? Aber bei einem Java Servlet oder wie das heisst braucht man das nicht (aber bin mir nicht sicher ^^)
Und zu deiner Antwort bezüglich meines Edits alo könnte man einen Webradio mit PB schreiben?
Verfasst: 26.02.2005 20:47
von bluejoke
Java-Servlet? Noch nie gehört... Also einfach, dass der Java-Code auf dem Server ausgeführt wird? Dann macht das genau das selbe wie ein PB-Programm, und der Browser muss reloaden.
Mit einem Browser ohne Java oder Flash (oder etwas vergleichbarem) kann man jedenfalls keinen Chat ohne Reload verwirklichen.
Webradio ist auf jeden Fall möglich, du musst halt wissen, an welchen Port du wie welche Daten sendest