在 C# 中,可以使用 Socket 类来进行 Socket 连接。如果连接超时,可以通过设置 Socket 的 ConnectTimeout 属性来实现。

下面是一个示例代码:

using System;
using System.Net;
using System.Net.Sockets;

class Program
{
    static void Main(string[] args)
    {
        // 创建 Socket 对象
        Socket clientSocket = new Socket(SocketType.Stream, ProtocolType.Tcp);

        // 设置连接超时时间为5秒
        clientSocket.ConnectTimeout = 5000;

        // 创建连接的IP地址和端口号
        IPAddress ipAddress = IPAddress.Parse('127.0.0.1');
        IPEndPoint remoteEP = new IPEndPoint(ipAddress, 8080);

        try
        {
            // 连接服务器
            clientSocket.Connect(remoteEP);

            // 连接成功
            Console.WriteLine('连接成功');
        }
        catch (SocketException ex)
        {
            // 连接超时
            if (ex.SocketErrorCode == SocketError.TimedOut)
            {
                Console.WriteLine('连接超时');
            }
            else
            {
                Console.WriteLine('连接失败:' + ex.Message);
            }
        }
        finally
        {
            // 关闭Socket连接
            clientSocket.Close();
        }
    }
}

在上述代码中,首先创建一个 Socket 对象,并设置连接超时时间为 5 秒。然后创建要连接的服务器的 IP 地址和端口号。接下来,使用 Connect 方法来连接服务器。如果连接超时,将会抛出 SocketException 异常,可以通过检查 SocketErrorCode 来判断是否是连接超时。最后,无论连接成功还是失败,都要关闭 Socket 连接。

C# Socket 连接超时处理:设置 ConnectTimeout 属性

原文地址: https://www.cveoy.top/t/topic/doaB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录