Check if a TCP port is already in use by IIS6 using C#.Net

The following function checks if a port is already in use by the IIS. Such function can be used to validate ports before creating a website. The function simply attempts to open a connection to the specified port. In case there was an exception, that means that it is not used.


public static bool IsPortUsed(int port)
{
   try
   {
      TcpListener tcp = new TcpListener(port);
      tcp.Start();
      tcp.Stop();
      return true;
   }
   catch (SocketException)
   {
      return false;
   }
}