• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Używanie Dns.GetHostEntry() zamiast Dns.Resolve()

Object Storage Arubacloud
+2 głosów
301 wizyt
pytanie zadane 4 kwietnia 2015 w C# przez Dorion300 Szeryf (90,250 p.)
edycja 4 kwietnia 2015 przez Dorion300

Witam.

Ostanio bawiłem się w właśne aplikacje, które potrafią łaczyć się między sobą przez internet.

Dostałem ostrzeżenie że Dns.Resolve() jest stare i lepszym zastosowaniem jest Dns.GetHostEntry() (w sumie to słusznie gdyż Jest nieaktualne od wersji 2.0

Ale problem jest taki że jak zmienię na Dns.GetHostEntry() to całkowicie jest inny wynik i zamiast adresu ip dostaję adres MAC.

Co robić dalej?

Zostać na Dns.Resolve?

public static void start()
{
	Socket poloczenie = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp );
	IPHostEntry pak = Dns.GetHostEntry (Dns.GetHostName ()); //Dns.Resolve (Dns.GetHostName ());
	IPEndPoint localEndPoint = new IPEndPoint(pak.AddressList [0], 9008);
	poloczenie.Bind (localEndPoint);
	poloczenie.Listen (0);
	//Dalszy kawałek kodu
}

2 odpowiedzi

+1 głos
odpowiedź 4 kwietnia 2015 przez Orzech030 Użytkownik (780 p.)
wybrane 5 kwietnia 2015 przez Dorion300
 
Najlepsza

      Komenda Dns.GetHostEntry() zwraca ci wszystkie adresy IP powiązane z komputerem, zarazem te w formie IPv4 jak i IPv6. Jeśli chcesz użyć tej metody polecam zapoznać się z opisem oraz przykładem, znajdującym się w dokumentacji.
     Jeśli zaś chcesz tylko jeden adres i to w formie zgodnym ze standardem IPv4 to Dns.Resolve() powinno w zupełności wystarczyć. :)

komentarz 5 kwietnia 2015 przez Dorion300 Szeryf (90,250 p.)

Bardzo dziękuje za pomoc.

Ale rozwiązałem to w o wiele lepszym sposobem

public static void start()
{
	Socket poloczenie = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp );
	IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 9008);
	poloczenie.Bind (localEndPoint);
	poloczenie.Listen (1);
	//dalszy kod
}

dzięki czemu potrafi nasłuchiwać na wszystkie ip,

Nie tylko przez LAN ale i także przez np. Hamachi

+1 głos
odpowiedź 4 kwietnia 2015 przez Lewan Obywatel (1,850 p.)

Dns.Resolve() jest okej nie powino być problemow O_O Jest to jak najbardziej okej ;)

Podobne pytania

+4 głosów
2 odpowiedzi 329 wizyt
0 głosów
0 odpowiedzi 434 wizyt
0 głosów
1 odpowiedź 83 wizyt

92,760 zapytań

141,684 odpowiedzi

320,470 komentarzy

62,104 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...