![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 9 Dołączył: 16.09.2005 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam
Bawie sie od kilku dni ajaxem, I Chce się czegoś spytać, może zaczne nie na temat ale na pewno do czatu dojde ![]() Co będzie lepsze, jakie rozwiązanie wybierzcie proszę i mile widziane opinię ![]() Opis problemu: Chce aby po zmianie miejsca na mapie (Jak zrobie ruch hipkiem ![]() ![]() Sposób 1. Rozwiązanie sposobem pierwszym to wykorzystanie ajax'a aby wchodził do pliku w którym jest funkcja odpowiedzialna za wyświetlanie na mapie hipoli i sprawdzanie ich pozycji: Szerokość długość wiec w tym wypadku bedzie zwracana co sekunde pozycja i wyświetlana na mapie ![]() To przy dobrych wiatrach ok 2-3 zapytania na sekunde dla gracza * 100=200-300 na sekunde zapytań ![]() Sposób 2. I tu właśnie chce wejść w czata, zauważyłem jedno, kiedyś, instalując gotowy skrypt dość ciekawy z obsługą ajax, Edytowałem pliczki i znalazłem taki fajny kodzik odpowiedzialny za sprawdzanie czy doszły jakieś nowe wiadomosci. I tutaj już bez połączenia z SQL, TYLKO CZY TO Doby pomysł bo nie wiem kompletnie a wiec tak: * Podczas napisania wiadomości, fakt jest ona notowana w bazie mysql ale też w pliku, XML. z info o dacie tresci i osobie która to napisała i oczywiście ID ![]() No i jak myślicie który pomysł lepszy bo chce się poradzić i wybrać jakiś aktualnie używam 1 sposobu ale jak będzie powiedzmy 100 online bo oczekuje ze po jakimś czasie tyle będzie, to chyba serwery nie wytrzymają hehe ![]() P.S Przy okazji powiedźcie czy każdy czat tak działa bo się kompletnie w dziedzinie tej nie orientuje ![]() PozdrowionQa Za pomoc dam "+" Ten post edytował _Martin_ 22.12.2009, 05:36:09 -------------------- ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 2 Dołączył: 3.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Czaty dzialaja na roznych zasadach, jedne uzywaja bazy, inne plikow, nie ma reguly.
Sam zrobilem kiedy czat na SQLite, zeby nie obciazac MySQL zapytaniami, ale faktycznie byl to czat na niewiele osob. Teraz jak tak mysle to wykorzystalbym raczej pliki tekstowe w formacie: Timestamp|Name|Tresc Jesli ktos by napisal wiadomosc na czacie Twoj skrypt dodawalby ta tresc do tego pliku tekstowego. Musilby on tez uwazac, zeby ten plik nie byl zbyt duzy, powiedzmy usuwac wiadomosci starsze niz np. 2 min. Zakladam, ze kazdy klient odczytywalby nowa zawartosc co najmniej co 30 sekund. Reszte w zasadzie mozesz juz zrobic tylko w Javascript, a konkretnie ja bym uzyl jQuery. Ladujesz zawartosc tego pliku do zmiennej Javascript "obrabiasz" odpowiednio i wyswietlasz tylko wiadomosci od ostatniego timestampa, ktorego zapisujesz w zmiennej javascript. Timestamp pochodzi z pliku tekstowego, czyli jest to Timestamp serwera, a nie klienta, ktory moze byc inny. Tym sposobem mamy pewnosc, ze kazdy ma taki sam timestamp. Przy pierwszym zaladowaniu czata, kiedy uzytkownik nie ma jeszcze swojego timestampa, ladujemy z pliku wszystkie rekordy. Dzieki takiemu rozwiazaniu cala robote w zasadzie robi przegladarka uzytkownika, dzieki czemu mozna moim zdaniem aktualizowac dane nawet co 10 sekund. To niestety tylko teoria, sam tego rozwiazania nie testowalem, sadze jednak, ze jest wykonalne i wydaje sie w miare efektywne. Moze w najblizszym czasie sprobuje cos takiego zrobic, nawet z samej ciekawosci ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:26 |