예제 #1
0
            public void Run()
            {
                Socket  socket    = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Boolean connected = false;

                try
                {
                    if (portScannerManager.timeout == TimeSpan.Zero)
                    {
                        socket.Connect(portScannerManager.hostIP, port);
                        connected = true;
                    }
                    else
                    {
                        if (SocketExtensions.ConnectWithTimeout(socket, new IPEndPoint(portScannerManager.hostIP, port), portScannerManager.timeout))
                        {
                            connected = true;
                        }
                    }
                }
                catch (SocketException)
                {
                }
                finally
                {
                    if (socket != null)
                    {
                        if (socket.Connected)
                        {
                            try { socket.Shutdown(SocketShutdown.Both); }
                            catch (SocketException) { }
                        }