我有一个基于 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;
}
}
}
}
以上是服务器用来从客户端获取数据的函数。我的问题是我是否可以将此函数获取的数据发送到主线程,或者我应该在上面的函数定义之外设置一个新缓冲区并将数据复制到它。