O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

Dns

Synopsis

This type offers up a collection of static methods for resolving DNS (Domain Name Service) operations. Because raw IP addresses (such as 192.168.0.1) can be difficult for humans to remember, DNS servers take human-friendly names (such as “www.oreilly.com”) and in turn translate them into IP addresses and/or back again. This ability can be useful in a variety of scenarios, including the simple logging of clients who have visited a web site recently. (Note that this is not a secure way of tracking usage—even a simple attacker can spoof the return address of an IP packet, so don’t rely on this mechanism for any kind of security validation or audit trail.)

The GetHostByName() method takes a hostname (such as “www.oreilly.com”) and returns the corresponding IPHostEntry instance—this IPHostEntry instance is used later in several of the System.Net and System.Net.Sockets types. This method (along with the paired method Resolve()) can be invoked asynchronously using the BeginGetHostByName() or BeginResolve() methods. Like all async methods in the .NET Framework, they take two additional parameters: an AsyncCallback object, and a generic object parameter that is passed to the AsyncCallback when the call completes.

At the surface, there would appear to be no difference between calling Resolve() or GetHostByName(); in fact, the Resolve() method calls into GetHostByName() after doing a small amount of preprocessing to check if the string passed is either a standard host name ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required