Jak vybrat IP adresu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak vybrat IP adresu – .NET – Fórum – Programujte.comJak vybrat IP adresu – .NET – Fórum – Programujte.com

 

VladislavK0
Super člen
19. 11. 2019   #1
-
0
-

Tento dotaz neni uplne technicky ale spise teoreticky.

V zasade jde o asynchronni socketovou komunikaci  typu client server

zaklady jsou jasne na clientovy vytvorim listener ktery ceka na zpravu od serveru 

string hostName = Dns.GetHostName();
            IPAddress[] ipHostInfo = Dns.GetHostEntry(hostName).AddressList;

            IPEndPoint localEndPoint = new IPEndPoint(ipHostInfo[0], port);
            Socket listener = new Socket(ipHostInfo[0].AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                Console.WriteLine("Cekani na spojeni ...");
                listener.Bind(localEndPoint);
                listener.Listen(100);

                while (!isCancellationRequested)
                {
                    // Set the event to nonsignaled state.  
                    allDone.Reset();
                    listener.BeginAccept(new AsyncCallback(AcceptCallback), listener);
                    allDone.WaitOne(100);
                }
            }

a cely problem je v te promene ipHostInfo kde pro endpoint pouzivam vlastne tu prvni nalezenou z indexu 0. v celem seznamu jsou IPV4 a IPV6 adresy a navic jsou tam adresy od vsechch moznych NETInterface, neboli jejich tam mnoho. Otazka zni jak postavit listener tak aby kdyz server zakomunikuje na IP treba z indexu 4

Nahlásit jako SPAM
IP: 109.202.87.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
MilanL+1
Grafoman
19. 11. 2019   #2
-
0
-

#1 VladislavK
Ahoj, síťové aplikace nedělám, ale myslím si že tohle staticky nejspíš neuděláš, vidím 2 cesty jak vybrat toho hosta z IPadress:

1) ručně přes dialog

2) automaticky - projít cyklem aktivní hosty s nějakým 1-2s timeoutem a použít ten který ti odpoví nejrychleji.

Nahlásit jako SPAM
IP: 91.139.9.–
MilanL+1
Grafoman
19. 11. 2019   #3
-
0
-

#2 MilanL
Jinak by .Net měl umožňovat i zjištění aktivního internetového připojení.

Nahlásit jako SPAM
IP: 91.139.9.–
VladislavK0
Super člen
19. 11. 2019   #4
-
0
-
Nahlásit jako SPAM
IP: 109.202.87.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
VladislavK0
Super člen
19. 11. 2019   #5
-
0
-

#3 MilanL
To jsem si take myslel - bohuzel vsechny IP se tvari jako public ve smyslu te site

Nahlásit jako SPAM
IP: 109.202.87.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
VladislavK0
Super člen
19. 11. 2019   #6
-
0
-

#3 MilanL
Jeste jedna vec, nejde o pripojeni ktere ma gateway - tedy internet, jde o komunikaci v ramci intranetu.  

Nahlásit jako SPAM
IP: 109.202.87.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
JerryM0
Věrný člen
19. 11. 2019   #7
-
0
-

#6 VladislavK
a co zkusit ping ? jestli něco existuje ? Existuje taky dotaz na místní DNS server, co všechno má v tabulce ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:b83a:c24:aa13:8571...–
MilanL+1
Grafoman
19. 11. 2019   #8
-
0
-

#6 VladislavK
Interface lze identifikovat i podle DNS Suffix u rozhraní, to ti může odfiltrovat 90%

https://docs.microsoft.com/en-us/dotnet/api/system.net.networkinformation.ipinterfaceproperties.dnssuffix?view=netframework-4.8

Jinak bez lepších informací jak ta apka funguje se asi dál nehnem, nevím např. co odesílá server zda používá multicast nebo směruje konkrétně podle nějaké identifikace klienta (IP / název PC - IP klienta lze zjistit dynamicky / Uživatel nebo Identifikace v klientovi - list cílů - může být připojen na více zařízeních současně, k navázání spojení by mělo dojít ze strany klienta server si pak dle identifikace upraví list cílů - klient by měl periodicky dávat vědět že je online).

Nahlásit jako SPAM
IP: 91.139.9.–
gna
~ Anonymní uživatel
1891 příspěvků
19. 11. 2019   #9
-
0
-

Není mi jasné, co potřebuješ udělat, ale můžeš bindovat na 0.0.0.0. Jinak musíš mít samostatný socket pro každý interface.

Nahlásit jako SPAM
IP: 213.211.51.–
VladislavK0
Super člen
20. 11. 2019   #10
-
0
-

#9 gna
diky toto mne nenapadlo a vypada to ze to resi muj problem i kdyz to asi (v ramci cele APP) nebude koser reseni.

Nahlásit jako SPAM
IP: 109.202.87.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 49 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý