Chat
Ik heb een vraagje,
Jullie kennen allemaal waarschijnlijk wel de chat die in hyves zit.
Dat je met je vrienden kan chatten,
Mijn vraag is of zon gelijk soort script verkrijgbaar is.
Mijn java en ajax skills zijn namelijk niet al te hoog dus ben ik zelf niet in staat om dit te maken maar ik zou het wel graag in mijn site willen zetten zodat vrienden met elkaar kunnen praten.
Mvg,
T. Kampherbeek
http://en.wikipedia.org/wiki/Comet_(programming)
Lees maar eens (moet het zelf ook eens doorlezen ;-) )
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
zal het morgen is doorlezen.
Die wiki url klopt niet krijg info over solor comet!
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
hier word ik niet echt wijs uit, Is er niet een vergelijkbaar soort script verkrijgbaar?
BUMP
Ik vrees dat er iet zomaar een kant en klaar iets is. maar Hyves heeft het geloof ik in ieder geval voor elkaar met Comet..
Tim Kampherbeek schreef op 17.09.2009 00:03:
hier word ik niet echt wijs uit, Is er niet een vergelijkbaar soort script verkrijgbaar?
Waarschijnlijk is die nergens gratis verkrijgbaar. Je zal er zelf een moeten gaan maken of je kan een wat mindere chat nemen.
Socket Programming, is best moeilijk, maar bespaart een hoop data verkeer.
Comet Programming, kan heel simpel zijn.
Als je het js framework prototype gebruikt, dan kent die een functie waarmee je een php pagina kan aanroepen, en het aantal milliseconden dat hij moet refreshen.
Je php code is gewoon een simpele query, die dan de tekst echoot. en als iemand een text post, pleur je dat gewoon in de database, zodat dat weer opgehaald word.
Het mooie aan het Prototype framework, is dat hij niet refresht als er niks gewijzigd is in de content.
nico schreef op 17.09.2009 20:27:
Als je het js framework prototype gebruikt, dan kent die een functie waarmee je een php pagina kan aanroepen, en het aantal milliseconden dat hij moet refreshen.
Dat is dus geen echte comet hé.
Echte comet zou ik ook niet met php doen, aangezien de verbinding openblijft en je php dus blijft laden. Dit betekend dat je (als je site druk bezocht is) veel php instanties in het geheugen krijgt en sowieso loopt je geheugen vol omdat php niet voor dit soort acties is bedoeld.
nico schreef op 17.09.2009 20:27:
Het mooie aan het Prototype framework, is dat hij niet refresht als er niks gewijzigd is in de content.
Hoe weet prototype dat er iets is gewijzigd op de server? Niet want dat moet de server naar de client toe gooien. En ook kom je hier weer op de riedel uit dat het geen 'echte' comet is, maar nog steeds pull.
Prototype die voert het php bestand uit, en gaat dan vergelijken, als ze verschillen, dan refresht hij die pagina, dit zie je dus ook, dat de pagina opnieuw word geladen, anders voert hij de refresh gewoon niet door.
Ik snap ook niet waar jij vandaan haalt dat hij in de server kijkt, maar dat zal wel aan mij liggen.
Voor de rest zijn alleen Sockets geschikt voor PHP, als je het over zulk soort acties heb.
nico schreef op 17.09.2009 21:00:
Prototype die voert het php bestand uit,
Volgens mij heb je daar nog steeds een php parser nodig.
nico schreef op 17.09.2009 21:00:
en gaat dan vergelijken, als ze verschillen, dan refresht hij die pagina, dit zie je dus ook, dat de pagina opnieuw word geladen, anders voert hij de refresh gewoon niet door.
Hij moet dus sowieso al gerefresht hebben.
nico schreef op 17.09.2009 21:00:
Ik snap ook niet waar jij vandaan haalt dat hij in de server kijkt, maar dat zal wel aan mij liggen.
Stel je hebt A en B, beide zijn personen in een chat.
Als A wat zegt, dan moet dat bij B komen. Dus stuurt de javascript naar de server (en dus php) een berichtje van A zei wat. Dat moet php weer door pushen naar B. Jou verhaal dat prototype kan zien dat er een verandering is (een nieuw bericht) gaat dus niet op. Het bericht komt op de server uit. Als prototype dan wel een berichtje aan de server stuurt van 'Hallo server, is er een nieuw bericht?!?!', dan is het geen comet meer.
De server moet aan de client (prototype) het nieuwe bericht sturen. Dit kan effectief alleen als er een open verbinding is.
Als de client dus aan de server gaat vragen of er een nieuw bericht is kan je gewoon beter ajax doen (en geen veredelde comet).
nico schreef op 17.09.2009 21:00:
Voor de rest zijn alleen Sockets geschikt voor PHP, als je het over zulk soort acties heb.
Jaja, sockets, dat sowieso. Maar dan blijf je d'r mee zitten dat als die comet goed gedaan wordt (wat dus bij prototype niet het geval is, want die vraagt steeds aan de server of een nieuw bericht is) betekend dat dat het php script dus open blijft staan, het blijft draaien.
Dit is eventjes niet zo erg, maar als dit heel lang gebeurt, en ook door heel veel verschillende mensen te gelijk, dan trekt je server dat niet. Php is niet ontwikkeld om maar te blijven draaien. Dat trekt ie niet, dat moet je niet doen.
Edit: Volgens mij volgen wij elkaar niet echt.
Voor een chat applicatie gebruik je GEEN php.
Gebruik daarvoor een taal die het gemakkelijk aan kan,, zoals Java.
Misschien dat ik morgen nog een stukje schrijf in Java, met sockets en al, want met PHP knalt je server er toch na een tijdje uit.
(heb hier ook nog een php socket dingetje liggen, maar dat werkt ook maar half half).
Python is overigens ook uitstekend :)
Misschien is het leuk om een mooi voorbeeldje er over te maken nico of chris kortaan er zijn namelijk weinig voorbeelden of uitleg daar over
enige idee hoe dat chat dingetje werkt wat daarin zit (ook wel google talk genoemd); gewoon pure javascript hoor; die steeds controleert of er nieuwe berichten zijn
kortom kan prima met php en javascript
wat misschien wel verstandig is is dat je static files gebruikt ipv een database
btw de groooooooooote IK HOEF GEEN jelmer heeft volgens mij 3 chat scripts hier in de script lib gedumpt
über vet,
je praat tegen een robot dan?
javascript kan niet verbinden met servers.
Voor de rest kan het prima met php,
maar wacht maar tot je paar duizend bezoekers hebt, kan nogsteeds prima, maar je gebruikt extreem veel onnodige bandbreedte.
En het is natuurlijk prima dat google en hyves duizenden euro's uitgeven aan bandbreedte, maar of jullie dat ook willen, is maar zeer de vraag.
Maar het is gewoon een feit dat Java dit veel beter kan als php.
java zuigt serieus; je kan dan netzo goed ubberc00le actieve iks shit pakken
anno 2000 nog wat gebruik je gewoon geen java applets meer; echt flash is echt het uiterste; we zijn helemaal into dom
btw hoeveel mensen denk jij dat deze TS direct op zijn site krijgt; beetje realistisch blijven meeste shared servers trekken het prima