c#TCP原端口重连
时间: 2023-08-31 14:10:00 浏览: 42
在 C# 中,可以使用 `TcpClient` 类和 `Socket` 类来实现 TCP 原端口重连。下面是一个示例代码:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
class TCPReconnectExample
{
static void Main()
{
// 设置原端口和目标 IP 地址
int originalPort = 1234;
IPAddress targetIP = IPAddress.Parse("192.168.0.100");
// 创建一个 TcpClient 对象
TcpClient client = new TcpClient();
while (true)
{
try
{
// 连接到目标 IP 地址和原端口
client.Connect(targetIP, originalPort);
// 连接成功,输出提示信息
Console.WriteLine("Connected to server at {0}:{1}", targetIP, originalPort);
// TODO: 根据需要执行其他操作,如发送和接收数据
// 断开连接
client.Close();
// 休眠一段时间后进行下一次连接尝试
Thread.Sleep(5000);
}
catch (SocketException)
{
// 连接失败,输出错误信息
Console.WriteLine("Failed to connect to server at {0}:{1}", targetIP, originalPort);
// 休眠一段时间后进行下一次连接尝试
Thread.Sleep(5000);
}
}
}
}
```
在上面的示例中,通过 `TcpClient` 对象的 `Connect()` 方法来连接到目标 IP 地址和原端口。如果连接成功,则可以执行其他操作;如果连接失败,则会抛出 `SocketException` 异常,可以在 `catch` 块中处理连接失败的情况。然后,通过 `Close()` 方法断开连接,并通过 `Thread.Sleep()` 方法来暂停一段时间后再进行下一次连接尝试。
你可以根据实际需求修改代码中的 IP 地址、端口号和其他操作。希望这个示例对你有帮助!