判断TCP通信中服务器意外关闭可以通过捕获SocketException异常来实现。当服务器关闭时,客户端会收到一个“连接被强制关闭”的错误信息,此时可以捕获该异常并进行相应的处理。

以下是一个使用C#编写的示例代码:

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

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // 创建TCP客户端
            TcpClient client = new TcpClient();

            // 连接服务器
            client.Connect(IPAddress.Parse("127.0.0.1"), 8888);

            // 发送数据
            string message = "Hello, server!";
            byte[] data = System.Text.Encoding.UTF8.GetBytes(message);
            client.GetStream().Write(data, 0, data.Length);

            // 接收数据
            byte[] buffer = new byte[1024];
            int length = client.GetStream().Read(buffer, 0, buffer.Length);
            string response = System.Text.Encoding.UTF8.GetString(buffer, 0, length);
            Console.WriteLine("Server response: " + response);

            // 关闭连接
            client.Close();
        }
        catch (SocketException ex)
        {
            Console.WriteLine("Server closed unexpectedly: " + ex.Message);
        }
    }
}

在上面的代码中,如果服务器意外关闭,客户端会捕获SocketException异常并输出错误信息。可以根据实际情况进行相应的处理,比如重新连接服务器等

如何判断TCP通信中服务器意外关闭能用C#写一个例子吗

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

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