max1761995 - Mi 06.06.12 22:20
Titel: textbox soll ip adresse zeigen
Hei zusammen
Was soll es können :
-per klick auf Button 1 soll in textBox1 die Ipadresse angezeigt werden
Mein Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52:
| using System; using System.Windows.Forms;
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void textBox1_TextChanged(object sender, EventArgs e) {
}
private void label2_Click(object sender, EventArgs e) {
}
private void button1_Click(object sender, EventArgs e) { string HostName = System.Net.Dns.GetHostName(); System.Net.IPHostEntry hostInfo = System.Net.Dns.GetHostByName(HostName); string IpAdresse = hostInfo.AddressList[0].ToString(); textBox1.Text = IpAdresse;
}
private void label1_Click(object sender, EventArgs e) {
}
private void textBox2_TextChanged(object sender, EventArgs e) {
}
private void button2_Click(object sender, EventArgs e) {
}
public System.Net.IPHostEntry hostinfo { get; set; }
public System.Net.IPHostEntry hostInfo { get; set; } } } |
:?: :?: :?:
warum geht das nicht ?
Danke für Antworten
gruss
max
jaenicke - Mi 06.06.12 23:27
max1761995 hat folgendes geschrieben : |
-per klick auf Button 1 soll in textBox1 die Ipadresse angezeigt werden |
Was verstehst du unter "
die IP-Adresse"? Ein Computer kann lokal mehrere Netzwerkadapter und jeder Adapter wiederum mehrere IP-Adressen haben.
Dazu kommt die Internet-IP, die man nach außen im Internet hat, um die es jetzt hier bisher noch nicht einmal ging.
Insofern ist erst einmal die Frage was du eigentlich haben möchtest...
avoid - Mi 06.06.12 23:38
max, ich hab dir mal ein beispiel gebaut.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| using System; using System.Windows.Forms; using System.Net; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { label1.Text = "Lokale IP Adressen:\n"; IPHostEntry Host = Dns.GetHostEntry(Dns.GetHostName());
IPAddress[] addr = Host.AddressList; for (int i = 0; i < addr.Length; i++) { label1.Text += i + " -> " + addr[i].ToString() + "\n"; textBox1.Text = addr[1].ToString(); } } } } |
ich hab ein label in dem ich alle gefundenen (lokalen) ip's anzeigen lasse
und meine wirkliche lan ip is in der textbox.
an welcher stelle im array die richtige ip ist die du suchst, mußt du eben ermitteln.
weil das von deinen netzwerk adaptern ab hengt die du installiert hast.
----nachtrag----
frag mich nicht wie man die externe ip vom dsl anzeigt,
geht aber mit sicherheit auch irgendwie ohne umweg über wieistmeineip.de und co.
die IP kann man sicher irgendwie mit ARP oder ICMP vom DNS im Router abfragen.
frag mich aber nicht wie.