Logik bag chat system

Tags:    chat logik

Hej folkens.

Da jeg i tidernes morgen startede med at kode, var det enlig fordi det skulle ende ud med en 3D chat i sidste ende. Har dog aldrig fået taget mig sammen til at begynde på det. selvom jeg efterhånden har været igang med at kode i små 6-8 år.

Jeg har meget godt fat i HTML/CSS/PHP/MysQl, Derudover kan jeg også godt kode Javascript og Ajax på middelt niveau.

Nu har jeg endelig tiden til at gå igang, og gå på modet til det.

Jeg har tænkt over det længere tid, men kan enlig ikke rigtige finde ud af hvordan sådan en skal opbygges.

Det er her jeg tænker i måske kunne hjælpe mig. Det jeg søger er enlig bare den "logiske" forklaring på det, altså ikke en kode eller noget som helst. bare "funktionen" bag det, i dagligt tale.

Det jeg godt kunne tænke mig at vide er enlig bare hvordan man laver "ryk" systemet. Sådan at man kan rykke sin "figur" rundt.

Håber nogle af jer kan komme med nogle gode inputs, så jeg kan komme godt igang. Hvis i ved meget om det, så ville jeg da være glad hvis i evt kunne fortælle mig hvilke funktion i det gældende sprog som er optimale at opbygge det om, men ellers bare logikken bag det.

Håber i forstår hvad jeg mener, på forhånd tak og godaften :=)



Der er sikkert mange måder at lave det på, men primært hedder det sig nok Server/Client struktur.

Altså du har en server som holder styr på forbundne klienter, og sørger for at modtage og sende data til og fra de enkelte klienter.

Du bevæger din figur og sender straks de nye koordinater til serveren, som evt. tjekker for fejl osv. i de modtagne data, for derefter at meddele alle andre forbundne klienter om de nye koordinater for netop din figur.
Så kan klienten selv stå for at animere bevægelse mellem koordinater hvis der er brug for det.

Der kan bruges Web Sockets til at kommunikere på denne måde, og hvis man ikke selv har mulighed for at hoste server, findes der http://pusher.com/.



Indlæg senest redigeret d. 17.12.2012 20:32 af Bruger #16319
Hvis du hoster hos en VPS (altså ikke bare har en hjemmeside, men faktisk kan bestemme, hvilken software som skal køre på serveren), så kan du lave det ret simpelt med en XMPP/Jabber server.

Selve chat delen er jo indbygget, og det med at flytte figurer rundt kan laves som XMPP components.

Det tager noget tid at sætte sig ind i XMPP protokollen, men til gengæld får du en server, som kan skalere til tusinder af brugere og hvor størstedelen af funktionaliteten allerede er implementeret for dig.



Robert Larsen, har du evt et link hvor jeg kan læse mere om det?



http://en.wikipedia.org/wiki/XMPP - Wikipedia er altid et godt sted at starte.

Ellers kan jeg anbefale bøgerne:
http://www.amazon.com/Professional-Programming-JavaScript-jQuery-Programmer/dp/0470540710
http://www.amazon.com/XMPP-Definitive-Real-Time-Applications-Technologies/dp/059652126X

Jeg selv har lidt erfaring med Openfire serveren (den er ret nem at gå i gang med): http://www.igniterealtime.org/projects/openfire/

Jeg bruger Node.js med node-xmpp modulet til at lave XMPP components.
Til klientsiden bruger jeg Strophe: http://strophe.im/

Du kan måske bruge Candy til chat delen: http://candy-chat.github.com/candy/



t