winforms 如何使用.NET从tcp服务器读取连续数据流

evrscar2  于 2022-11-16  发布在  .NET
关注(0)|答案(1)|浏览(139)

我正在开发一个winform应用程序,它将从通过以太网和tcp连接到它的设备上获取数据绘制一个图形。该设备发送12字节的数据包,其中前5个字节包含元数据,后8个字节是我想要绘制的实际数据。在我告诉应用程序停止读取之前,我如何使用按钮开始阅读数据?
目前在一个按钮上按下应用程序连接到tcp服务器通过tcp.conncet方法和我读数据使用Networkstream.读取方法和存储它但我不确定它是否连续读取或它只读一次当按钮被按下所以我不得不使用循环或不

dm7nw8vv

dm7nw8vv1#

有一个参数指示天气数据在流中是否可用,因此您可以执行类似以下操作

while(NetworkStream.DataAvailable)
{
   //read data
}

但是当您从流中接收到所有数据时,它将中断,之后您可以不时地检查流中是否还有可用的数据并开始阅读它

while (true)
{
    while (NetworkStream.DataAvailable)
    {
        //read data
    }

    Thread.Sleep(500);
}

相关问题