C#のTCPClientでキャッシュをクリアする方法は?
C#では、NetworkStreamのFlushメソッドを使用してキャッシュをクリアすることができます。 NetworkStreamはTcpClientのプロパティであり、TcpClient.GetStream()メソッドで取得できます。
以下是一个示例代码,演示如何使用Flush方法来清除缓存。
using System;
using System.Net.Sockets;
class Program
{
static void Main(string[] args)
{
string serverIP = "127.0.0.1";
int serverPort = 8080;
TcpClient client = new TcpClient(serverIP, serverPort);
NetworkStream stream = client.GetStream();
// 发送数据
byte[] buffer = System.Text.Encoding.ASCII.GetBytes("Hello, server!");
stream.Write(buffer, 0, buffer.Length);
stream.Flush();
// 清除缓存
stream.Flush();
// 关闭连接
client.Close();
}
}
上記の例では、まずTcpClientオブジェクトを作成し、指定されたサーバーのIPアドレスとポートに接続します。次にNetworkStreamオブジェクトを取得し、Writeメソッドを使用してサーバーにデータを送信します。その後、Flushメソッドを呼び出してバッファをクリアします。最後に接続を閉じます。
NetworkStreamのWriteメソッドを使用してデータを書き込んだ後は、Flushメソッドを呼び出さないと、データがすぐにサーバーに送信されません。したがって、データをすぐに送信する必要がある場合は、データを書き込んだ後にFlushメソッドを呼びます。