• 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()

Cloud VPS
+2 głosów
380 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 454 wizyt
0 głosów
0 odpowiedzi 690 wizyt
0 głosów
0 odpowiedzi 93 wizyt

93,485 zapytań

142,417 odpowiedzi

322,764 komentarzy

62,896 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

Kursy INF.02 i INF.03
...