Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 异步TCP客户端端口检查_C#_Asynchronous_Tcpclient - Fatal编程技术网

C# 异步TCP客户端端口检查

C# 异步TCP客户端端口检查,c#,asynchronous,tcpclient,C#,Asynchronous,Tcpclient,我认为这个端口检查需要是异步的。侦听器似乎在获得第二个连接时死亡。注释掉的位是正确的方法吗?这是否需要异步和等待 public void IPPortCheck(string ip, string port) { try { using (TcpClient client = new TcpClient(ip, port)) { //if (client.Connected == true) //{

我认为这个端口检查需要是异步的。侦听器似乎在获得第二个连接时死亡。注释掉的位是正确的方法吗?这是否需要异步和等待

public void IPPortCheck(string ip, string port)
{
    try
    {
        using (TcpClient client = new TcpClient(ip, port))
        {

           //if (client.Connected == true)
           //{
                 client.SendTimeout = 1000;
           //}
        }
    }
    catch (SocketException Ex)
    {

    }
}

如果未引发异常,则连接成功。如果要扫描多个端口,请尝试使用
Parallel.Foreach(..)
这里没有足够的信息来找出问题所在。这是一个客户端-连接到侦听器的部分。如果您遇到侦听器在第一次连接请求后失败的问题,您应该深入研究侦听器的问题,而不是这个类。这个类所做的只是尝试打开一个连接,然后关闭它。由于TCP侦听器通常是一个完全开放的端口,因此它应该设计为处理来自任何地方的连接,从而能够处理意外的输入/事件。听起来好像不是。如果它没有引发异常,则连接成功。如果要扫描多个端口,请尝试使用
Parallel.Foreach(..)
这里没有足够的信息来找出问题所在。这是一个客户端-连接到侦听器的部分。如果您遇到侦听器在第一次连接请求后失败的问题,您应该深入研究侦听器的问题,而不是这个类。这个类所做的只是尝试打开一个连接,然后关闭它。由于TCP侦听器通常是一个完全开放的端口,因此它应该设计为处理来自任何地方的连接,从而能够处理意外的输入/事件。听起来好像不是。