C#Socket连接超时
在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连接。
原文地址: https://www.cveoy.top/t/topic/jfXv 著作权归作者所有。请勿转载和采集!