Jak dobrze napisać komunikator

0

Witam. Pisałem już kilka razy pseudokomunikator, na razie bez jakichś szmerów bajerów, ale była lista kont, hasła, logowanie itd. Chciałbym napisać jeszcze raz coś takiego tylko jeszcze bardziej porządnie. Oczekuję porad od was starszych kolegów :) Piszę w C#, nie wiem czy to dobre wyjście, ale 1 klient = 1 wątek (do odbierania wiadomości). Dajmy na to podłączy się 1000 klientów to mam 1000 wątków, da się inaczej to zrobić? Metoda, którą odbieram wiadomości tzn. ściślej dane (string) jest synchroniczna i niestety hamuje serwer. Tak więc proszę o wyjaśnienie czy to dobre wyjście i czy może da się inaczej do wykonać, jak miałby ktoś jeszcze coś do dodania nt. takiego komunikatora niech pisze. Chciałbym trochę wdrożyć się do świata webówki i dlatego chciałbym napisać już wreszcie, nawet taki komunikatorek byle jaki, niż klepać coś bez sensu codziennie ;/ Dziękuję z góry.

0

Na podstawie gotowego komponentu (np.do obsługi GG), czy jakiś własny?

0

Nie, chodzi mi o własne napisanie wszystkiego, poprzez sockety.

0

To najpierw zaprojektuj sensowny, bezpieczny, wydajny i pewny protokół.

0

Skoro mowa o protokole, opłaca się pisać pod taki komunikator (on faktycznie nie będzie pełnił swojej funkcji, bo kto by chciał z niego korzystać :D) pisać protokół? Nie wystarczą zwykłe instrukcje: połącz, wyślij, odbierz itd.? W sumie to nawet nie wiem dokładnie jak wygląda budowa takiego protokołu.

0

No właśnie protokół określa jak się te przesyła tekst/grafikę/inne dane, jak się adresuje odbiorcę, jak przesyła się potwierdzenie odbioru, itd.

0

Czyli jak napiszę sobie klasy do odbioru/wysyłu itd. to to już mogę nazwać protokołem?

0

Chciałbym trochę wdrożyć się do świata webówki i dlatego chciałbym napisać już wreszcie, nawet taki komunikatorek byle jaki, niż klepać coś bez sensu codziennie ;/ Dziękuję z góry.

Co aplikacje webowe mają wspólnego z komunikatorem na socketach? Web to web, a komunikator to komunikator.

Jeżeli chcesz pisać serwer, jak rozumiem, to aby go używać z jakimś komunikatorem, musiałbyś napisać własny komunikator, albo wtyczkę do już istniejącego. Ewentualnie testować jakimś telnetem czy innym netcatem.
Prawdopodobnie lepiej będzie stworzyć implementację serwera jakiegoś ładnego otwartego protokołu, np. XMPP. Podstawowa obsługa XMPP nie jest taka trudna.

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