在发送数据之前,可以使用 Socket 类中的 Receive 方法来清除接收缓冲区中的数据。代码示例:

Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
clientSocket.Connect(serverIPAddress, serverPort);

// 清除接收缓冲区中的数据
byte[] buffer = new byte[1024];
while (clientSocket.Available > 0)
{
    clientSocket.Receive(buffer);
}

// 发送数据到服务器
byte[] sendData = Encoding.UTF8.GetBytes('Hello, server!');
clientSocket.Send(sendData);

// 关闭 Socket 连接
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();
C# TCP 客户端:发送数据前清空接收缓冲区

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

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