Java Socket - client/server problem

0

Witam wszystkich bardzo serdecznie,jesto to moj pierwszy post wiec bardzo prosze o wyrozumialosc.
Jestem BARDZO poczatkujacy jesli chodzi o Jave dlatego zwracam sie do Was.
Otoz problem jest nastepujacy:

Mam do napisania aplikacje client/server.
Server jest jeden a klientow conajmniej dwoch. Po stronie sevrera musze ich(klientow) jakos rozroznic aby moc wyslac im odpowiednie dane. Problem w tym ,ze nie mam pojecia jak napisac kod dla clientow aby po polaczeniu do serwera kazdy z nich wyslalby mu swoje - powiedzmy - imie ,tak aby server mogl ich pozniej rozroznic.

Mam nadzieje ,ze wyrazilem sie dosc jasno.

Z gory bardzo dziekuje.

Pozdrawiam

0

prosze, uzyj opcji Szukaj. co 5 post na tym forum tego dotyczy...

pozdrawiam

0

Uwierz mi,szukalem. Lecz nie moge znalezc odpowiedzi na TO specyficzne zapytanie.

Proboje "mieszac" z watkami. Tj. jak zawsze robilem kilka watkow servera dla klientow teraz proboje zrobic jeden server i dwa(W MOIM PRZYPADKU) watki klienta. Ale nie idzie.... :-[

0

do klient-serwer masz linka w "zasady pisania tematow"
jesli chodzi o rozroznianie - w momencie gdy serwer robi accept - to otwiera socketa.
Ten socket mozesz wrzucic np. do mapy (TreeMap<Integer,Socket>) jako pare <klucz,wartosc> - <id (generowane),socket>.
Klient zaraz po polaczeniu moze sie tez przedstawiac wysylajac np. w stringu swoje imie i wtedy wrzucasz do mapy <String,Socket>, tylko w takim przypadku, bedziesz musial pobrac strumien (aby odebrac info o kliencie), a z tego co wiem, to nie da rady zrobic tego kilka razy (np. po pobraniu ponownie socketa z mapy). Rozwiazaniem jest opakowanie Socketa swoja klasa, ktora przy pierwszym pobraniu strumienia zapisuje go do swojego prywatnego pola, a potem je zwraca.

pozdrawiam

0

zrob dwa sockety, jeden dla 1 klienta 2 dla 2giego klienta. wyslij do 1 klienta id 1, do 2 id 2 - jesli ma to byc jakas gra. Jesli program to po prostu sprawdzasz czy dane wplynely z socketa1 czy moze socketa2.

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