Clent & Server again...

0

Mam dwa pytanka:

  1. Jak sprawdzić, który z podłączonych do serva clientów wysłał wiadomość do serva, i odpowiedzieć do nie go automatycznie np. Jeden Clieant wysyła "hello" i otrzymuje odpowiedz "elo" - Tylko ma iść tylko do tego jednego clienta !!!!

  2. Do czego służy właściwość "service" w TclientSocket I tServerSocket. Jak to wykorzystać?

z góry dzięki, jak jakieś źródełka wyczarujecie ad. 1, to [email protected] .--Spin
(Delphi 5 Enterprise)

0

http://www.delphi-area.com/source/tcpip.zip

W tym chyba jest wszystko co chciałeś :-)
piechnat

0

JA bym proponował aby każdy z klientów wysyłał pierw np.

numer klienta a potem tekst

czyli

4_tutaj_jest_tekst

potem program tylko czyta wszystko do pierwszego znaku "_" i wie juz komu odpowiedzieć :] banał (aby odpowiedzieć) wystarczy

serversocket.socket.connections[numer].sendtext('elo');

i to juz wszystko

0

ZIOMBER napisał:
JA bym proponował aby każdy z klientów wysyłał pierw np.
&gt
&gtnumer klienta a potem tekst
&gt
&gtczyli
&gt
&gt4_tutaj_jest_tekst
&gt
&gtpotem program tylko czyta wszystko do pierwszego znaku "_" i wie juz komu odpowiedzieć :] banał (aby odpowiedzieć) wystarczy
&gt
&gtserversocket.socket.connections[numer].sendtext('elo');
&gt
&gti to juz wszystko

a skąd Klient ma wiedzieć jaki numer został mu przydzielony na Serverze?

0

A no tak - ZONK :)

no to niech zrobi petelke z tekstem nazwa kompa lub nr. jak napisalem i niech wysle "4_elo" :0 każdy klient to przetworzy :] i jeżeli będzie klient 4 przetwarzał ten tekst toon to dostanie reszta zignoruje

no co ??? :) dla mnie banał ale co zrobić jak klientów jest 203 a tekst to "202_elo" :]]]

Spox pq luzik :)

0

&gta skąd Klient ma wiedzieć jaki numer został mu przydzielony na Serverze?

server może mu go przyznać zaraz po podłączeniu do niego ;), czekam na odpowiedź na 2. pytanie.....

Acha Pinchat, to źródło które sugerujesz nie zdało egzaminu, nie o to mi chodzi. Serv ma odpowiedzieć Tylko do klienta, który do niego coś wysłał--Spin
(Delphi 5 Enterprise)

0

Ja sie pomylilem myslalem ze pq to piechnat i napisalem do pq a nie do piechnata

SORRRRRRYYYYYYYYYYYYY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

0

Ja nie wiem o co Wy sie kłócicie...a nie można by wykorzystać adresu??? Np. klient jak sie dołączato w bazie danych jest np. adres w którym jest np. nazwa kompa czyli :
pier zrobimy petle for do wszystkich polaczen do serwer'a czyli np.
for a:=0 to ServerSocket1.Socket.ActiveConnections do begin
if ServerSocket1.Socket.Connections[a].LocalAddress='192.168.1.35' then //oczywiscie tutaj mozna uzyc jeszcze petli przeszukujacej wiecej adresow np z pliku itd...
Memo1.Lines.Add('Zbyszek: '+ServerSocket1.Socket.Connections[0].ReceiveText);
end;

0

Ten numer z adresami wydaje sie byc SUPER, ale jest do kitu, bo moze byc dwoch klientow pod jednym IP (np. za firewall'em :-) ) i co w takim przypadku? Jezeli odwołamy się do nich serversocket1.Socket.Connections[0].SendText('tekst'); to zostanie wyslane tylko do jednego odbiorcy ktory polaczyl sie z serwerem jako pierwszy i chocby dziesieciu innych tez polaczylo sie z tym serwerem z tego samego IP to wszystko bedzie po naszej mysli. Jest tylko jeden problem: jak otrzymac numer klienta, ktory nam przyslal wiadomosc?

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