将byte []分割成较小的byte []并发送给它

问题描述 投票:0回答:1

我正在尝试拆分字节数组,并一直发送它直到它剩下字节为止,然后我想通过蓝牙发送它。它是否正确?不知道如何使写入工作在后台任务/线程中进行,因此我对此进行了评论。

public void Write(byte[] bytes)
{
    //System.Threading.Tasks.Task.Run(() =>
    //{
        byte[] tmpArray = bytes.Take(10).ToArray();

        try
        {
            mmOutStream.Write(tmpArray);
        }
        catch (IOException ex)
        {
            System.Diagnostics.Debug.WriteLine("Error occurred when sending data", ex);
        }
    //}).ConfigureAwait(false);
}
c# xamarin.forms stream
1个回答
1
投票

如果要写入所有字节,则需要将其放入循环中。 Write方法已经具有重载,该重载将产生偏移量和长度

int offset = 0;
int count = 10;
int len = bytes.Length;

while (offset < len)
{
  mmOutStream.Write(bytes,offset,count);
  offset += count;
}
© www.soinside.com 2019 - 2024. All rights reserved.