Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

IRC? -> AJAX + PHP: brainstorming

Pagina: 1
Acties:
  • 277 views sinds 30-01-2008
  • Reageer

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Topicstarter
In mijn zoektocht een mooie, snelle (no-fancy-bullshit) chat oplossing voor op een website te zetten, zie ik weinig opties, en de enige die ik dan me zou kunnen bedenken is.. We maken het zelf.

Persoonlijk vind ik een kale installatie van mIRC het prettigste werken, en ben ik al een beetje aan het spelen met hoe het op het scherm moet komen. De lay-out is het probleem niet, echter wel hoe het gemaakt wordt.

Kleine, niet onbelangrijke, sitenote: Ik ken weinig PHP, en javascript jat ik meestal van anderen (beter goed gejat dan slecht bedacht), en MySQL... daar waag ik me nog niet aan.

Het moet dus een chat worden waar dus ook de joins & parts (wat dus een quit gaat worden) e.d. in zitten, nick-changes, kicks/bans, kortom... IRC via AJAX.

Voordat ik het e.e.a. ga opbouwen (jatten), wil ik dus graag jullie mening over de werking achter de schermen (in iedergeval het PHP traject)

Voor de werking zat ik aan het volgende te denken:

Op de pagina van de chatroom, moet je een nickname ingeven, en met PHP genereer ik een unieke key die in de POST wordt meegestuurd.

Server-Side zal de unieke gebruikt worden voor 2 flatfiles, 1 waar de nickname in staat, en een buffer:
$key.name & $key.buffer

Op het moment dat een gebruiker iets verstuurd (hetzij tekst voor op de chat, of hetzij een ping-pong), zal de $key.name worden aangepast, en daardoor wordt de laatste gewijzigde datum veranderd.

Zodra iemand iets typt naar de room, is de bedoeling dat PHP het volgende gaat doen:
Kijk naar ALLE .name bestanden:
De huidige tijd minus de lastmod tijd van het .name bestand geeft een waarde, als deze waarde groter is dan de interval, is er een gebruiker weggegaan. Op dat moment kan de .name en .buffer van die user verwijderd worden.
Is waarde kleiner dan de interval, dan is de gebruiker er dus nog. Dan kan de verstuurde tekst dus bij de .buffer worden gezet.

Met de interval trek ik dus elke keer $key.buffer leeg (en wis deze van schijf), en update ik de $key.name. Op die manier vul je het scherm enkel met verse data..

Ik hoor overigens diverse 'klachten' dat AJAX traag is, maar dat komt door het feit dat de te versturen data eerst richting server-side gaat, en daarna pas op het scherm verschijnt. Met een interval van 1 seconde lijkt het dus traag, die snap ik. Op het moment dat je dus met apparte bestanden werkt per gebruiker een eigen buffer, hoef je je eigen buffer niet te vullen, en kan je die met javascript direct in het venster gooien. Hierdoor lijkt het dus real-time, zonder traagheid.

Aangezien ik weinig kennis heb van PHP, zal me de serverside kant wel lukken om te bouwen, het javascript verhaal zal flink wat copy'n'paste werk worden, maar daar kom ik ook wel uit.

Naar mijn idee heb ik op deze manier een prima IRC-like chatroom, zonder dat het 'traag' lijkt te zijn.

Zitten aan mijn denkwijze nog rare ogen en haken of valkuilen waar ik rekening mee moet gaan houden?

Brakke pic ter illustratie:
Afbeeldingslocatie: http://www.xs4all.nl/~pvwig/chat-layout.jpg

Ey!! Macarena \o/


  • AndriesLouw
  • Registratie: December 2005
  • Laatst online: 06:33
phpFreeChat voldoet aan al jouw eisen, dus probeer hem eens.

Specificaties | AndriesLouw.nl


  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Topicstarter
Die voldoet dus totaal niet aan de eisen.

Gisteren namelijk nog mee zitten testen. Je ziet pas iemand dat die persoon in de chat zit, op het moment dat die persoon iets tikt. Groot min-punt. Zelfde geldt voor iemand die z'n browser sluit, na 1 minuut wachten (nadat ik m'n 2de brower sloot) gaf ik de hoop op om uberhaut een part/quit msg te zien.

Daarbij duurt het laden van dat ding me ook te lang.

Toch bedankt voor je bijdrage ;)

Ey!! Macarena \o/


  • iop
  • Registratie: Oktober 2002
  • Laatst online: 30-11 18:19

iop

probeer de onze eens: www.macloud.org in het linker menu: JAVA IRC
verder gen verstand van maar misschien heb je er wat aan

mag de groeten niet doen dus dat doe ik niet :P


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Als ik dit zo lees lijkt mij een oplossing à la jIRC of pjIRC veel beter. Je hebt er verder geen (serverside) omkijken naar, je hebt alleen een IRC-kanaal nodig (wat je op iedere server kan aanmaken)

We are shaping the future


  • marcieking
  • Registratie: Februari 2005
  • Niet online

marcieking

Mannetje Pug en een stokbrood

iop tha man schreef op maandag 20 augustus 2007 @ 22:16:
probeer de onze eens: www.macloud.org in het linker menu: JAVA IRC
verder gen verstand van maar misschien heb je er wat aan
Een applet is afhankelijk van het feit dat java op de pc staat, en dat er een directe verbinding is met het internet. Wanneer er een proxy tussen moet ziten omdat je bijvoorbeeld op school zit, werkt een java applet niet meer.
Een AJAX oplossing werkt gewoon over HTTP.

https://onzetaal.nl/taaladvies/welke-die/


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
CGI::IRC?

We are shaping the future


  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Topicstarter
En waar komt daar PHP + AJAX in voor dan?

Daarbij draait CGI::IRC niet op windows, en ziet er niet uit.

De bovendegenoemde Java oplossing zuigt ook aan alle kanten, want dat is een applet en krijg je irritante install-pop-up.. Daarbij werkt ie niet omdat ik die irc-server niet op mag.

Een IRC-server is inderdaad zo te installeren, zeker omdat ik het gewoon op me werkstation draai, dus alle vrijheden. Maar het gaat mij om het feit dat IRC te veel ristricties heeft. Kortom, ik ga geen IRC-server gebruiken, en ik wil dus een AJAX oplossing zelf maken


Aangezien ik het in SEA post, had ik gehoopt op commentaar over m'n gedachtegang, en niet een lading aan troep oplossingen waar ik me groen en geel aan erger.. Daarom open ik dus ook dit topic, onder het motto van, als je wil dat iets goed gebeurd, moet je het zelf doen. En daar heb ik wat input voor nodig. ;)

Ey!! Macarena \o/


Verwijderd

Zijn er werkelijk mensen die deze jongen serieus nemen? Deze TS heeft totaal een verkeerde attitude. Mijn advies: koop een goed boek en ga eens wat leren!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Als ik de topicstart zo lees... krijg ik eigenlijk mijn twijfels. Flat-files kunnen handig zijn, maar voor iets dynamisch als een chatbox (die soms veel requests krijgt) kan juist het filesystem de bottleneck zijn. Een databasesysteem als MySQL is dan vele malen efficiënter (en sneller), dan flat-file-storage.

Verder zeg je weinig kennis te hebben van Javascript en het meeste maar te sleur-en-pleuren, wat niet altijd handig kan zijn voor efficiëntie e.d.. Persoonlijk zou ik client-side een library pakken/bakken zoals Prototype's AJAX-class, dit neemt veel werk uit handen en het kan nog serverresources schelen ook (als er een half uur niets wordt gezegd - en iedereen idlet dus - hoeft er niet iedere seconde te worden gecheckt, dat kan dan gerust oplopen tot 1x per 30 seconden... tot er weer iets wordt gezegd... en dan begint de teller weer opnieuw)

We are shaping the future


  • XplodingForce
  • Registratie: September 2005
  • Laatst online: 12-11 13:15

XplodingForce

NEE GEEN COLA GEVEN!!!!

Verwijderd schreef op maandag 20 augustus 2007 @ 22:43:
Zijn er werkelijk mensen die deze jongen serieus nemen? Deze TS heeft totaal een verkeerde attitude. Mijn advies: koop een goed boek en ga eens wat leren!
Wat is er mis met de houding van de TS? Hij kent (nog) niet alle talen en technieken volledig, maar probeert dmv het bij elkaar zoeken en combineren van openbare code van anderen toch iets in elkaar te zetten, daar vind ik niets mis mee. De TS praat misschien een beetje raar over het "jatten" van code, maar dit vatte ik humoristisch bedoelt op. Dit soort code is gewoon openbaar en dat heeft dus niets met diefstal ofzo te maken :?

Everybody lies


Verwijderd

XplodingForce schreef op maandag 20 augustus 2007 @ 22:49:
[...]


Wat is er mis met de houding van de TS? Hij kent (nog) niet alle talen en technieken volledig, maar probeert dmv het bij elkaar zoeken en combineren van openbare code van anderen toch iets in elkaar te zetten, daar vind ik niets mis mee. De TS praat misschien een beetje raar over het "jatten" van code, maar dit vatte ik humoristisch bedoelt op. Dit soort code is gewoon openbaar en dat heeft dus niets met diefstal ofzo te maken :?
Het getuigt van weinig respect wanneer de TS zo reageert: ...."en niet een lading aan troep oplossingen waar ik me groen en geel aan erger." Mensen reageren helemaal voor nop in dit topic en de TS gaat zo reageren.

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Topicstarter
Verwijderd schreef op maandag 20 augustus 2007 @ 22:56:
[...]


Het getuigt van weinig respect wanneer de TS zo reageert: ...."en niet een lading aan troep oplossingen waar ik me groen en geel aan erger." Mensen reageren helemaal voor nop in dit topic en de TS gaat zo reageren.
Er worden 3 kant-en-klare oplossingen gegeven in een topic waar ik vraag of er mensen zijn die zich kunnen aansluiten aan hoe ik denk dat het goed zou werken.

Om maar even daar te laten of iets respectvol, of respectloos is. We zitten in SEA, het forum voor de zelfbouwers om de mening te vragen of je het idee, plus de werking ervan goed in elkaar hebt zitten.

En dat ze voor nop reageren, tjah, reageer dan ontopic... Ik vraag toch niet of iemand mij een voorgekauwde boterham wil geven...

Maargoed, we geraken nu helemaal offtopic...

Ey!! Macarena \o/


  • Dutch2007
  • Registratie: September 2005
  • Laatst online: 24-09 10:39
heb zelf ook cgi irc chat in gebruik, opzich leuk en aardig, maar goed, ajax is idd miss fijner, weet iemand een php+ajax+irc script ofzo? dat al klaar is, of is ajax zo nieuw dat nog niemand zich aan een php+ajax+irc iets gewaagd heeft?

Gene waarom ik irc d'r bij wil is omdat, wij in mijn clan naar lan party's gaan en dan ook wat op die irc channels hangen...

bijv die van times-lan... (en niet iedere clan member zit op irc/heeft dit)

en ome google geeft me niet veel alleen dit topic..

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

@Dutch 2007: Je bent dus opzoek naar een standaard script? Dat is gewoon een scripterequest en die staan we hier niet toe. Zie Programming Beleid - Scriptrequests.
Dus idd, ontopic waar meer :)

[ Voor 17% gewijzigd door Creepy op 30-08-2007 14:46 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1