.net tcpclient 实现一直接收数据并在断开连接后重新连接
时间: 2023-12-25 11:03:31 浏览: 69
可以使用一个 while 循环不断接收数据,在连接断开后重新连接。具体实现可以参考以下代码:
```
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
class Program
{
static void Main(string[] args)
{
while (true)
{
try
{
// 连接服务器
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse("127.0.0.1"), 8888);
Console.WriteLine("Connected to server.");
// 获取网络流
NetworkStream stream = client.GetStream();
// 不断接收数据
while (true)
{
byte[] buffer = new byte[1024];
int length = stream.Read(buffer, 0, buffer.Length);
string message = Encoding.UTF8.GetString(buffer, 0, length);
Console.WriteLine("Received: " + message);
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
Thread.Sleep(1000); // 等待一秒钟后重试
}
}
}
}
```
以上代码会在连接成功后不断接收服务器发送过来的数据,在连接断开后等待一秒钟后重新连接。如果连接失败会输出错误信息并等待一秒钟后重试。
阅读全文