Komunikator mysql vs komunikator socket

0

Ostatnio dostalem propozycje stworzenia komunikatora dla pewnej firmy.
Oczywiscie pierwsza mysl byla taka, zeby stworzyc to po socketach w java, ale pozniej po analizie zaczalem sie zastanwiac czy nie dozylismy juz czasow, w ktorych komuniaktor oparty na zwyklej bazie danych, js i ajaxie moze byc rownie wydajny?
Wystarczy popatrzec na WebGadu, ktore dziala sprawnie i wcale nie gorzej niz inne komunikatory w aplikacjach okienkowych (destkopowych)...

0

a nie lepiej zaimplementować protokół xmpp? efekt ten sam, a zaoszczędzisz godziny na tworzeniu nowego protokołu co jest imho bezcelowe... facebook chat korzysta z xmpp.

0

webgadu nie działa na zwykłym ajax tylko na websocketach a więc na socketach dla javascript
nie wiem tylko za bardzo jakie jest pytanie

w każdym razie - czy w javie czy w javascripcie będziesz musiał użyć do tego socketów
zmienia się tylko typ aplikacji

osobiście używam tylko webgadu jako przypiętej zakładki w chromie, nie mam zainstalowanego żadnego normalnego komunikatora

0
dawidgarus napisał(a):

a nie lepiej zaimplementować protokół xmpp? efekt ten sam, a zaoszczędzisz godziny na tworzeniu nowego protokołu co jest imho bezcelowe... facebook chat korzysta z xmpp.

imo bezcelowe jest w ogóle tworzenie nowego komunikatora...

0

Jest klika takich produktow w internecie, ktore dziaja tylko na bazie danych (sprawdzanie czy pojawila sie nowa wiadomosc i jesli tak to wyswietlenie jej w okienku).
Cos jak kiedys tworzylo sie shoutboxy (przynajmniej ja tak tworzylem:)

Zastanawiam sie tylko jaka bedzie wydajnosc takiej aplikacji...

Nie wiedzialem, ze webgadu dziala na javascriptowych socketach, dzieki za info, ktos mnie wprowadzil w blad.

0

no kiedyś większość działała właśnie w ten sposób, najczęściej z przetrzymywaniem połączenia gdy nie ma danych - nazywa się to long pollingiem
ale odkąd websockety są dostępne we wszystkich przeglądarkach dużo profesjonalniej będzie je wykorzystać

różnica nie jest wielka, odpada tylko ciągłe zrywanie i nawiązywanie nowego połączenia i parsowanie skryptu za każdym razem
nie trzeba też odpytywać za każdym razem bazy danych o dane z sesji żeby rozpoznać klienta więc odciąża trochę serwer

0

chyba masz na myśli te dla 5 użytkowników bo na pewno nie te, gdzie ilość użytkowników jest liczona w tysiącach albo milionach. Podstawowym mechanizmem dla komunikatora jest socket (wymagana komunikacja dwukierunkowa) a baza może być używana do np. składowania listy userów, ich kontaktów oraz wiadomości, które w danej chwili nie mogą być dostarczone (bo np. adresat nie jest w danej chwili dostępny).

1 użytkowników online, w tym zalogowanych: 0, gości: 1