Jak dobrze napisać komunikator

2011-11-19 16:44
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.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał

Pozostało 580 znaków

2011-11-19 16:49
0

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


Pozostało 580 znaków

2011-11-19 17:24
0

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


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał

Pozostało 580 znaków

2011-11-19 17:27
0

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


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2011-11-19 18:14
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.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał

Pozostało 580 znaków

2011-11-19 18:27
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.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
A nie wystarczy TCP/IP? - TomRiddle 2011-11-19 18:41
No tak, protokół komunikatora jest w warstwach wyższych niż TCP, ma definiować nie to, jak dane są przesyłane, tylko co one znaczą dla aplikacji. Chociaż oczywiście można opracować protokół zastępujący również TCP. - somekind 2011-11-19 18:51

Pozostało 580 znaków

2011-11-19 18:49
0

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


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
Protokół, to po prostu format danych przesyłanych przez sieć, coś analogicznego do formatu pliku na dysku. Np. pierwszy bajt to typ wiadomości, następne 8 to nazwa odbiorcy, kolejne 8 to nazwa nadawcy, a dalsze to treść. Metody wysyłające i odbierające dane muszą być napisane tak, aby obsługiwały tę strukturę czyli ten protokół. - somekind 2011-11-19 18:53

Pozostało 580 znaków

2011-11-19 18:54
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.

No właśnie piszę własny - serwer i klient. - xeo545x39 2011-11-19 18:58

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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