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) { } }