Serwer UDP

szukaj na forum nowy temat odpowiedz

Strona [ 1 ] z 1

gibon93 ten post 09-03-2010 17:05


Użytkownik
Status: Offline
Dołączył: 04-11-2009

Witam

mam takie pytanie :)

czy jest mozliwosc po stronie "Serwera" odbierania wiadomosci od wybranego "Clienta" a nie od  wszystkich polaczonych ??

powiedzmy że z  "Serwerem" łączy się trzech "Client-ów" i chcę odbierać info tylko od jednego


Pzdr Andrzej
Przejdź na górę strony
cytuj
MSM ten post 09-03-2010 17:52
avatar

Użytkownik
Status: Offline
Dołączył: 24-04-2009
Skąd: Google Search
Jakiego serwera, jakiego clienta?
#define private public   // beware classes, I`m coming!
:D
Przejdź na górę strony
cytuj
gibon93 ten post 09-03-2010 18:16


Użytkownik
Status: Offline
Dołączył: 04-11-2009

prosze o wyrozumialosc :) jak bede pisal bzdury :D

a wiec serwer :
UdpClient serwer;
IPEndPoint zdalnyIP;
int port = Convert.ToInt16(Port.Text);
zdalnyIP = new IPEndPoint(IPAddress.Any,0);
Byte[] odczyt = serwer.Receive(ref zdalnyIP);
string dane = Encoding.ASCII.GetString(odczyt);
Log.Text += dane+"\n";
serwer.Close();


Client:
UdpClient client;
int port = Convert.ToInt16(Port.Text);
client= new UdpClient("127.0.0.1",port);
Byte[] dane = Encoding.ASCII.GetBytes("text");
serwer.Send(dane, dane.Length);


i takich "Client-ow" ma 10 :)

i powiedzmy chcialbym odczytywac dane od trzeciego  bezposrednio nie odczytujac wszystkich

pzdr Andrzej
Przejdź na górę strony
cytuj
somekind ten post 09-03-2010 22:00
avatar

Użytkownik
Status: Offline
Dołączył: 01-03-2008
Skąd: Polska, mieszkam w Polsce
Chyba albo różne porty, albo klient wysyła serwerowi jakiś swój numer identyfikacyjny.
Samotranscendencja jest prafenomenem ewolucji.
Dzieci należy trzymać z dala od Internetu. Od dzieci Internet głupieje.
www.somekind.pl
http://bykom-stop.avx.pl/
Przejdź na górę strony
cytuj
dark_astray ten post 09-03-2010 22:17
avatar

Użytkownik
Status: Offline
Dołączył: 16-12-2009

możesz to rozwiązać w taki sposób że klienci wysyłają na serwer dane w postaci takiego datagramu przykladowo "port;adresIP;komenda;"
wtedy mozesz sobie ich zapamiętać gdzieś. i będziesz mogł wysyłać wybiórczo lub filtrować; Ale jesli chodzi o odbieranie to dlaczego miałbys wyłączyć mozliwość wysyłąnia wiadomości innym uzytkownikom?


www.heller-consult.pl/

www.youtube.com/user/michal1988xx

Ostatnio zmodyfikowany: 09-03-2010 22:22 przez dark_astray
Przejdź na górę strony
cytuj
gibon93 ten post 10-03-2010 07:20


Użytkownik
Status: Offline
Dołączył: 04-11-2009

to nie chodzi o wylaczenie mozliwosci wysylania.

zalezy mi na szybkosci odbioru danych
i dlatego dla kazdego klienta chcialem stworzyc osobny watek do odbioru
a tak pozostaje odbior w jednym i filtrowanie ??

nie zakladajac nowego watku mam pytanie czy Receive() przy danych od Clienta blokuje caly program czy tylko dany watek ??

pzdr Andrzej
Przejdź na górę strony
cytuj
dark_astray. ten post 10-03-2010 10:59





moze sprobuj stworzyc to na TCPClientach, wtedy będziesz miał socketa dla kazdego połączonego. I dalej poprzez stream-a chociazby będziesz mogł odbierac wiadomosc od clienta czy wysyłać.
A receive UdpClienta raczej nie zablokuje Ci całego programu, jesli jest to odpalone w innym wątku. Zresztą Powinien być chyba jakiś podgląd, czy jest coś do odebrania, ale głowy nie dam.
Przejdź na górę strony
cytuj
szukaj na forum nowy temat odpowiedz

Strona [ 1 ] z 1

1 użytkownik(ów) przegląda ten temat (1 gości)
(żadnych zarejestrowanych użytkowników)

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0272 sek. (zapytań SQL: 9)