C# に基づくソケット通信スレッドがあります。サーバーのバッファは 1024 バイトです。通信スレッドとメイン スレッドの間でデータを転送する方法が必要です。これどうやってするの?新しいバッファを開いてデータをコピーする必要がありますか? または、クライアントまたはサーバーのバッファからデータを取得できますか?
private void ServerResponse()
{
byte[] buff = new byte[1024];
string msg;
int len;
try
{
if (!Stream.CanRead)
{
return;
}
stopFlag = false;
while (!stopFlag)
{
len = Stream.Read(buff, 0, buff.Length);
if (len < 1
{
Thread.Sleep(200);
continue;
}
}
}
}
上記は、サーバーがクライアントからデータを取得するために使用する関数です。私の質問は、この関数が取得したデータをメインスレッドに送信するか、上記の関数の定義の外に新しいバッファを設定してデータをコピーすることです。