Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Shoutbos ktory nei zawiesi strony
michat34
post 21.11.2012, 15:38:34
Post #1





Grupa: Zarejestrowani
Postów: 200
Pomógł: 1
Dołączył: 4.08.2012

Ostrzeżenie: (10%)
X----


witam chcialbym napisac shoutbox. oprocz jego tradycyjnych funkcji znajdowałyby sie tam rowniez informacje o tm kto jest na shoutboxie. myslalem o zrobieniu tak, ze co sekunde jest wysylane zadanie od klienta a jak nie zostanie wyslane znaczy ze sie wylogował. ale takie cos z pewnosci mocno zamuli serwer.
1. jest jakis lepszy sposob na zrobienie tego? ktos chyba gdzies cos pisal o iframe ale nie mam pojecia jak to mozna wykorzystac.
2. do czego mozna zastosowac w php sockety, chodzi mi o praktyczne wykorzystanie w prawdziwej aplikacji www
Go to the top of the page
+Quote Post
frantic09
post 21.11.2012, 16:16:49
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 6
Dołączył: 7.03.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


A w jaki sposób będziesz dowiadywał się, że ktoś jest na shoutboxie?

Możesz to zrobić tak, że jak ktoś wejdzie w shoutboxa lub wykaże się jakąś działalnością, wtedy zapisujesz do np bazy danych wpis o informacji
[uzytkownik][dokladny co do sekundy czas działania]

(nie mam pojęcia jak działa Twój shoutbox więc nie wiem jak rozpoznasz użytkownika... może użyć do tego ciasteczek? Każdy użytkownik po wejściu na shoutbox dostanie jakieś ID zapisane u niego w ciastkach)

Nie musisz co sekundę sprawdzać kto jest a kogo nie ma. Możesz sobie ustalić dozwolony czas nieaktywności (przykładowo 15min) i np raz na minutę sprawdzać powyższą tabelkę. Jeśli jakiś użytkownik będzie miał wpis starszy nić te przykładowe 15 minut, wtedy oznacza, że już go nie ma.

Ale, tak jak pisze, za krótko opisałeś swój shoutbox...


--------------------
  1. echo "Wydaje mi się, że mogłoby to zadziałać... ;)";
Go to the top of the page
+Quote Post
michat34
post 21.11.2012, 16:19:32
Post #3





Grupa: Zarejestrowani
Postów: 200
Pomógł: 1
Dołączył: 4.08.2012

Ostrzeżenie: (10%)
X----


tak to zamierzam zrobic. ludzie musza byc zalogowanii by rozmawiac na shoutboxie. i myslalem o tym ze zrobie tabele SHOUTBOX i w niej po zalogowaniu sie usera bedzie dodawany nowy rekord a jak sie wyloguje to jest usuwany. z tym ze faktycznie nie do konca mam pomyslu jak sprawdzac czy ktos jest online.. twoj pomysl jest swietny i mysle ze go zastosuje chyba ze ktos ma inny pomysl + nadal nie wiem jak mozna wykorzystac do tego iframesy smile.gif

Ten post edytował michat34 21.11.2012, 16:21:53
Go to the top of the page
+Quote Post
b4rt3kk
post 21.11.2012, 16:20:46
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Jeśli chodzi o listę użytkowników to lepiej zapisać nick do bazy w momencie pojawienia się / zalogowania na shoutboxie i w momencie zamknięcia strony czy też wylogowania ten nick usunąć, zaoszczędzi to dodatkowego sprawdzania co chwila, czy przypadkiem ten ktoś jeszcze ciągle siedzi. Siedzi, do momentu, póki nie pójdzie (np. w przypadku zamknięcia przeglądarki), tak w uproszczeniu. A co do wypowiedzi, to postaraj się pobierać jak najmniej danych, np. poprzez zapisywanie w sesji czasu ostatnio widzianej wiadomości przez użytkownika i z bazy pobieraj tylko nowsze wpisy, uprzednio możesz sprawdzić czy w ogóle takowe istnieją (np. poprzez COUNT), co też nieco zmniejszy zasobożerność.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
michat34
post 21.11.2012, 16:23:47
Post #5





Grupa: Zarejestrowani
Postów: 200
Pomógł: 1
Dołączył: 4.08.2012

Ostrzeżenie: (10%)
X----


ok dzieki bartek
zamkniecie strony mozna przechwycic window.close() czy onunload (opera ani chrome nie obsluguja)? i co jezeli ktos ma wylaczony js wtedy zdarzenie nie zadziała i uzytkownik bedzie wiecznie wpisany ze jest aktywny chociaz go dawno nie ma..
i kto wie jak uzyc iframeów?

Ten post edytował michat34 21.11.2012, 16:26:42
Go to the top of the page
+Quote Post
b4rt3kk
post 21.11.2012, 16:49:27
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(michat34 @ 21.11.2012, 17:23:47 ) *
ok dzieki bartek
zamkniecie strony mozna przechwycic window.close() czy onunload (opera ani chrome nie obsluguja)? i co jezeli ktos ma wylaczony js wtedy zdarzenie nie zadziała i uzytkownik bedzie wiecznie wpisany ze jest aktywny chociaz go dawno nie ma..
i kto wie jak uzyc iframeów?


to plus, obecna data minus czas ostatniej aktywności większe od pewnej ustalonej wartości to automatycznie usuwa z aktywnych użytkowników.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
michat34
post 21.11.2012, 18:22:17
Post #7





Grupa: Zarejestrowani
Postów: 200
Pomógł: 1
Dołączył: 4.08.2012

Ostrzeżenie: (10%)
X----


hm wlascwie to jak to jest, zalozmy ze jezeli ktos ma wylaczony js to nei moze wejscn a czat. a jak wejdzie na czat i wylaczy wtedy? to czy automatycznie nic co zwiazane z js mu nie działa, czy dopiero po przeladowaniu strony mu nie działa js? bo jezeli 1. wariant to nie ma sposobu by obejsc zamykanie strony.
i 2. pytanie jakie zdarzenie jest odpowiedzialmne za przechwycenie strony? bo to drugie nie dziala w operze ani chrome. windows.close() da sie do tego jakos wykorzystac?
na niektorych stronach widzialem takie cus: 'Ta strone zada potwierdzenia opuszczenia jej [OPUSC STRONE]'. moze to by bylo wyjsciem? ktos wgl wie jak to zrobic?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:18