Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Bästa sättet att göra en chatruta

Skapad av SkalmanOnDrugs, 2012-02-21 16:52 i Webbutveckling & Programmering

4 493
6 inlägg
1 poäng
SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
1
Hej där!

Jag vill göra en chatruta att ha min hemsida och jag undrar lite vad som är bästa lösningen för detta när det gäller prestanda och användarvänlighet.

Jag har redan gjort en färdig prototyp som visserligen fungerade men inte jättebra. Jag använde mig av html, php, en MySQL databas och lite Javascript (jQuery).
Jag har i princip bara ett vanligt html formulär, en textarea och en submit knapp. Formuläret forwardar till samma sida som även har lite php kod i sig som hela tiden kollar efter nya värden 'message' i $_POST arrayen och i så fall lägger i dessa i databasen jag har för chatten. För att chatten ska uppdatera sig själv använde jag mig bara av jQuery's load-funktion, alltså jag har en div som heter chat som hela tiden loadas med innehållet från en fil som heter process_chat.php, som tar fram nytt innehåll och matar ut det i rätt ordning och rätt syntax i diven. Har även gjort så den bara tar med meddelanden som är högst x antal minuter gamla och även rensar bort gamla meddelanden från databas-tabellen med jämna mellanrum. jQuery's load funktion går ju att sättas med ett valfritt intervall så jag kan, om jag vill, sätta ett väldigt lågt intervall så att meddelanden dyker upp väldigt fort.

Problemet här är att ifall jag vill att nya meddelanden i chatten ska komma upp direkt så måste jag sätta ett väldigt lågt intervall, detta gör att man skickar en väldigt många requests till servern. Det kan negativt påverka prestandan. Just nu hostas dessutom min hemsida på en webhost som inte tillåter fler än 2 000 refreshes från samma IP under en 24-timmars period, vilket gjorde att jag själv blev ip-bannad från min egen hemsida när jag skulle testa min chat eftersom jag hade för lågt intervall xD

Ett annat problem är att det inte direkt går superfort att skicka vidare datan från html formuläret till sig själv för att sedan processeras och lagras i databasen. Så även om jag faktiskt har ett lågt intervall på load-funktionen så går det ändå inte så fort som jag hade önskat.

Jag vill helst ha en simpel och lätt chat som fungerar snabbt och smidigt. Exempelvis som chatten som syns på startsidan på HP.

Undrar lite vilken teknik som är bäst för att göra en chat, den behöver absolut inte vara avancerad, bara snabb. (Fast jag vill kunna koda den själv i något webbaserat språk, vill inte använda en färdig chatt och är inte heller intresserad av någon form av Java Applet eller liknande).

Tacksam för tips ^^

Du måste konstruera ytterligare pyloner

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
0

Svar till SkalmanOnDrugs [Gå till post]:
För det första så tycker jag att du ska köra submit med AJAX, man vill inte att sidan ska laddas om när man chattar.

Sen så låter det som att du hämtar in alla meddelanden gång på gång, även fast ingenting har ändrats. Det gillar varken din server eller din webbläsare, så en lösning där du bara skriver ut nya inlägg hade varit super.

Du behöver ju inte uppdatera jätteofta, snackis hämtar ny data var tredje sekund.

Att skriva och läsa ifrån databasen är inte heller speciellt optimalt, någon annan lösning som Memcached tillexempel hade varit att föredra.

/party

SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
Trådskapare
0
[svar:Gurrewe:3929823]
Tack för hjälpen ^^ Har börjat lite på ett test här, men har fastnat rätt rejält. Är inte speciellt erfaren med AJAX eller jQuery så kanske det är det som är problemet.. Så här ser min kod ut:

chat.php
http://pastebin.com/HD2Svg7x

post.php
http://pastebin.com/byrtjBUM

Du måste konstruera ytterligare pyloner

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
0

Svar till SkalmanOnDrugs [Gå till post]:
Man får inte skriva JS-kod här på siten, så du får ladda upp någon annanstans.

/party

SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
Trådskapare
0

Svar till Gurrewe [Gå till post]:
Märkte det. Laddade upp på pastebin nu istället.

Du måste konstruera ytterligare pyloner

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
0
Svar till SkalmanOnDrugs [Gå till post]:
Du kör dubbla onclick="" i chat.php.
Men det är snyggare att köra $.('#lalalal').live('click', function() { });



Tillägg av Gurrewe 2012-02-21 20:55

Du måste även se över säkerheten, folk kommer att kunna hacka sönder dig jättelätt :(

/party


Forum » Datorer & IT » Webbutveckling & Programmering » Bästa sättet att göra en chatruta

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons