C# Listener-Nur auf einem bestimmten Interface horchen?

24/11/2008 - 20:37 von Olli Goessler | Report spam
Hi Leute,

ich hoffe Ihr habt wie ueblich einen Tipp fuer mich:

Folgendes Problem (FW 2.0, VS 2005) : Auf einem Rechner mit mehreren
LAN-Interfaces moechte ich das mein Server nur auf dem Interface mit einem
bestimmten Namen horcht (z.B. "Relevant"). Das finde ich ja noch heraus:

IPEndPoint ip_local = null;
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in interfaces)
{
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet &&
adapter.Name == "Relevant")
{
IPInterfaceProperties p = adapter.GetIPProperties(); // ????
ip_local = new IPEndPoint(?????, (int)portNr);
}
}

Aber mir ist leider nicht klar wie ich zu dem EndPoint aus dem adapter-Namen
komme?

Haettet Ihr vielleicht eine Idee fuer mich?

Mit bestem Dank und lieben Gruessen
Olli
 

Lesen sie die antworten

#1 Kerem Gümrükcü
25/11/2008 - 01:43 | Warnen spam
Hallo Olli,

das mit dem Port, also auf welchem Du horchen möchtest,
ist selbstverstàndlich Dir überlassen, aber hier mal ein
Beispiel ohne große Funktionalitàt, das einen Endpoint für alle
lokalen IPv4 Adressen und dem Port 2222 erzeugt:


NetworkInterface[] niarray =
NetworkInterface.GetAllNetworkInterfaces();

foreach (NetworkInterface ni in niarray)
{
foreach (UnicastIPAddressInformation uca in
ni.GetIPProperties().UnicastAddresses)
{
try
{
if (uca.Address.AddressFamily ==
AddressFamily.InterNetwork)
{
IPEndPoint ipe = new IPEndPoint(uca.Address,
2222);
MessageBox.Show(uca.Address.ToString());
}
}
catch (Exception)
{

}
}
}



Grüße

Kerem


Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Latest Project: http://www.pro-it-education.de/soft...iceremover
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."

Ähnliche fragen