Online chat

Tags:    html css

<< < 123 > >>
Hej...

Jeg er igang med at lave en chat men har fået af vide at Php ikke er et godt sprog at udføre de opgaver i er der en der vil lære mig at lave JS med database for det er præcis det jeg mangler til mit system!



Javascript er clientside, dvs det udføres kun i browseren, ikke på serveren.
For at lave en chat skal du have noget kode der bliver udført på serveren. Her kan php, asp, perl osv. bruges.

Årsagen til at man ikke bruger php/asp til chatscripts, er at der hele tiden skal connectes til serveren og databasen, hvilket genererer en masse trafik.

Jeg har en chat lavet i php. Jeg havde en counter på så jeg kunne se hvor mange gange der blev connectet til serveren og databasen. Med 2 brugere og med opdatering hver 3. sekund generede jeg over 400 connections på en time. De ting der blev opdateret var: Besked-boksen, brugerliste samt indsending af beskeder.

Jeg kan ikke anbefale chatscripts i php/asp. Det er umuligt at lave i JS. Du skal have fat i en chat host, eller selv sætte en server op der kan håndtere chats.



Man man bør da kunne blande det php og JS og evt. noget Ajax



Det ændre ikke på at du skal connecte til serveren. Uanset hvilken teknologi du bruger skal der connectes til serveren. Serveren skal derfor sættes op til at kunne tage den mængde trafik det kræver, det er php og mysql ikke gearet til. Du skal have fat i et helt andet system end disse.



Jeg vil mene at du sagtens vil kunne lave det med php/html.. og en funktion der heletiden opdatere siden... men så er det at der kommer en masse trafik, eftersom den skal til at overføre alle beskederne igen og igen....

Du vil også sagtens kunne lave det med noget javascript.. (så bliver du fri for klik-lyden når den ellers med html ville opdatere, og det bliver også muligt at den kun overføre data, når der er nye beskeder.. (men den connecter stadig igen og igen..)..),
det gør du ved at lave timeout, og en document.write.. hvor den så udskrevet en <script src="">, som går til hjemmesiden som så sætter scriptet til at udskrive de nye opdateringer (nye beskeder i chatten)....

men uanset hvad så bliver du ikke fri for at der kommer en helveds masse opdateringer. og hvis chatten skal være meget flydende, kræver det en masse opdateringer, og derved en fornuftig forbindelse...
men hvis du er interesseret, kan jeg godt se om jeg kan få brygget nogle eksempler sammen til dig... :) ..?



Indlæg senest redigeret d. 09.08.2006 20:31 af Bruger #10350
Jeg vil mene at du sagtens vil kunne lave det med php/html.. og en funktion der heletiden opdatere siden... men så er det at der kommer en masse trafik, eftersom den skal til at overføre alle beskederne igen og igen....

Du vil også sagtens kunne lave det med noget javascript.. (så bliver du fri for klik-lyden når den ellers med html ville opdatere, og det bliver også muligt at den kun overføre data, når der er nye beskeder.. (men den connecter stadig igen og igen..)..),
det gør du ved at lave timeout, og en document.write.. hvor den så udskrevet en <script src="">, som går til hjemmesiden som så sætter scriptet til at udskrive de nye opdateringer (nye beskeder i chatten)....

men uanset hvad så bliver du ikke fri for at der kommer en helveds masse opdateringer. og hvis chatten skal være meget flydende, kræver det en masse opdateringer, og derved en fornuftig forbindelse...
men hvis du er interesseret, kan jeg godt se om jeg kan få brygget nogle eksempler sammen til dig... :) ..?


Jeg har lavet et sådanne system. Man kan ikke blive fri for klik-lydene i IE, da der hele tiden skal indlæses en side. Bruger du javascript til at opdatere, kommer der også en klik-lyd. Det er uundgåeligt så længe man arbejder med php, html, javascript osv.

Hvis man skal lave en fornuftig chat skal man nok lave det i flash eller java (IKKE javascript!).



Hmm mener ikke at jeg skrev noget med at opdatere i javascripten...
jeg er temmelig sikker på at der ikke komme nogle klik lyde på denne måde...

du har en setTimeout til at kører.. på omkring 2 sek..
når den har kørt 2 sek kalder den en funktion som med document.write eller document.getElementById().innerHTML udskriver noget ekstre kode.. noget ligende
Fold kodeboks ind/udKode 
.. (sidstantalmsg er hvor mange beskder der var sidste gang den blev opdateret.. så slipper man for at hente alle data'erne igen...) men med den kode så er det inde på serveren den udskriver noget kode ligende..
Fold kodeboks ind/udKode 
.. og det bliver så udskrevet på siden.. og som sagt, burde det ikke give nogle lyde...
en anden måde at ordne det på var at serveren udskrev alle dataerne så de bliver kaldt i en funktion ligeså snart de er blevet loaded af siden..
Fold kodeboks ind/udKode 
...

men uanset hvad slipper man for at overføre en masse trafik med javascript opbygget på den her måde... men man undgår ikke en masse connections heletiden..



Indlæg senest redigeret d. 09.08.2006 20:47 af Bruger #10350
Hmm kan man ikke gemmeteksten midlertidigt en .txt fil pr chat room...?



Jo sagtens, men når det er chat, nyheder, tagwall, forum... mm, er det helt klart lettest at bruge sql :)
og der kan du bare oprette en tabel pr, chat-room.



Okay men det kunne man jo ikke med java uden man tog helt vildt meget trafik!



For at køre php koden skal siden opdateres. Uanset hvad. Så snart siden opdateres kommer klik lyden.
Du behøver ikke komme med de eksempler, jeg har selv lavet det, og spurgt mange der har arbejdet på det. En php-chat uden opdatering kan ikke lade sig gøre.
Javascript er og bliver clientside. For at kunne bruge AJAX skal brugerens browser understøtte det, og al data skal gemmes i xml format. Hvilket igen kræver server connections for at få data fra databasen over i xml dokumentet og videre til brugeren, og tilbage, fra brugeren til databasen.
Jeg anbefaler stadig at lave det i flash eller java.



<< < 123 > >>
t