Reader Level:
Articles

IP Address Hostname Convertor

By Uchukamen on April 04, 2002
This is an IP Address-Hostname converter written in C# Windows Forms.
  • 0
  • 0
  • 27122

This is an IP Address-Hostname converter written in C# using Windows Forms. You simply enter a hostname or IP address in the boxes on the form and press the arrow button to convert it. While calling the DNS resolver, the mouse cursor becomes a WaitCursor.



The screen shot shows that www.yahoo.co.jp has several IP addresses.

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Net;
namespace TestDNS
{
/// <summary>
/// Form1
/// </summary>
public class TestDNS : System.Windows.Forms.Form
{
private System.Windows.Forms.Button ButtonByAddress;
private System.Windows.Forms.Button ButtonByName;
private System.Windows.Forms.TextBox hostName;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox combIPAddress;
private System.Windows.Forms.Label label2;
/// <summary>
///
/// </summary>
private System.ComponentModel.Container components = null;
public TestDNS()
{
//
//
//
InitializeComponent();
//
//
//
}
/// <summary>
///
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
///
///
/// </summary>
private void InitializeComponent()
{
this.ButtonByAddress = new System.Windows.Forms.Button();
this.ButtonByName = new System.Windows.Forms.Button();
this.hostName = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.combIPAddress = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// ButtonByAddress
//
this.ButtonByAddress.Location = new System.Drawing.Point(272, 64);
this.ButtonByAddress.Name = "ButtonByAddress";
this.ButtonByAddress.Size = new System.Drawing.Size(32, 32);
this.ButtonByAddress.TabIndex = 1;
this.ButtonByAddress.Text = "←";
this.ButtonByAddress.MouseDown += new
System.Windows.Forms.MouseEventHandler(this.OnByAddress);
//
// ButtonByName
//
this.ButtonByName.Location = new System.Drawing.Point(272, 16);
this.ButtonByName.Name = "ButtonByName";
this.ButtonByName.Size = new System.Drawing.Size(32, 32);
this.ButtonByName.TabIndex = 2;
this.ButtonByName.Text = "→";
this.ButtonByName.MouseDown += new
System.Windows.Forms.MouseEventHandler(this.OnByName);
//
// hostName
//
this.hostName.Location = new System.Drawing.Point(24, 48);
this.hostName.Name = "hostName";
this.hostName.Size = new System.Drawing.Size(232, 19);
this.hostName.TabIndex = 3;
this.hostName.Text = "Hostname";
//
// label1
//
this.label1.Location = new System.Drawing.Point(336, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(128, 16);
this.label1.TabIndex = 5;
this.label1.Text = "IP Addresses";
//
// combIPAddress
//
this.combIPAddress.Location = new System.Drawing.Point(336, 48);
this.combIPAddress.Name = "combIPAddress";
this.combIPAddress.Size = new System.Drawing.Size(128, 20);
this.combIPAddress.TabIndex = 6;
this.combIPAddress.Text = "xxx.xxx.xxx.xxx";
//
// label2
//
this.label2.Location = new System.Drawing.Point(24, 16);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(128, 16);
this.label2.TabIndex = 7;
this.label2.Text = "Host Name";
//
// TestDNS
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
this.ClientSize = new System.Drawing.Size(496, 126);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label2,
this.combIPAddress,
this.label1,
this.hostName,
this.ButtonByName,
this.ButtonByAddress});
this.Name = "TestDNS";
this.Text = "TestDNS";
this.ResumeLayout(false);
}
#endregion
/// <summary>
///
/// </summary>
[STAThread]
static void Main()
{
Application.Run(
new TestDNS());
}
private void OnByAddress(object sender,
System.Windows.Forms.MouseEventArgs e)
{
Cursor cursor =
this.Cursor;
try
{
// Cursor to WaitCursor
this.Cursor = Cursors.WaitCursor;
System.Net.IPHostEntry ipEntry =
System.Net.Dns.GetHostByAddress(
this.combIPAddress.Text);
this.hostName.Text = ipEntry.HostName;
}
catch (System.Exception exc)
{
// Catch format error, etc.
MessageBox.Show(exc.Message, "TestDNS", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
finally
{
// restore cursor
this.Cursor = cursor;
}
}
private void OnByName(object sender, System.Windows.Forms.MouseEventArgs
e)
{
Cursor cursor =
this.Cursor;
try
{
// Cursor to WaitCursor
this.Cursor = Cursors.WaitCursor;
System.Net.IPHostEntry ipEntry =
System.Net.Dns.GetHostByName(
this.hostName.Text);
// stop repainting
this.combIPAddress.BeginUpdate();
// clear the comboBox
this.combIPAddress.Items.Clear();
foreach (IPAddress i in ipEntry.AddressList)
{
this.combIPAddress.Items.Add( i.ToString() );
}
this.combIPAddress.Text = this.combIPAddress.Items[0].ToString();
// restart painting
this.combIPAddress.EndUpdate();
}
catch (System.Exception exc)
{
// catch exception.
MessageBox.Show(exc.Message, "TestDNS", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
finally
{
// restore the cursor.
this.Cursor = cursor;
}
}
}
}

Uchukamen

Uchukamen has been a software engineer, mainly C, C++, for 15 years. He has a B Sc and MEng in Information Technology. He is based in the Japan but has also worked in the USA for three years. He just started working on ... Read more

COMMENT USING

Trending up