如何通过 Dart 中的套接字接收图像

Posted

技术标签:

【中文标题】如何通过 Dart 中的套接字接收图像【英文标题】:How to receive image over a socket in Dart 【发布时间】:2022-01-18 00:28:17 【问题描述】:

我无法通过套接字检索文件,如果数据增加超过一定长度,它会划分字节数组。我该如何解决这个问题?

【问题讨论】:

请在代码中显示一个最小的可重现示例。您可能只收听第一个“块”数据,而不是整个块流。 当数据增加一定长度时通过套接字监听时,它会分解成字节数组块。对于图像以外的数据,我使用了这段代码 dataReceived += (String.fromCharCodes(data)).trim(); if (dataReceived[dataReceived.length - 1] == ']') List parsed = jsonDecode(dataReceived);但是要从不同的数组中收听图像是一个问题 签出:pub.dev/documentation/buffer/latest/buffer/… 【参考方案1】:

Sockets i/o(尤其是在使用 UDP 时)是一种低级通信协议,可为您提供强大的功能,但也需要您解决诸如数据包被切碎、丢弃或乱序到达等问题。您可以自己弄清楚,但您可能还想考虑使用像 socket.io-client-dart 这样的包来处理所有这些边缘情况。

【讨论】:

以上是关于如何通过 Dart 中的套接字接收图像的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 iOS 中的套接字从服务器接收数据?

在 Flutter 中显示图像,通过套接字连接发送

如何通过套接字发送/接收二进制数据?

OpenCV - 套接字接收到的失真图像

确保通过 Python 中的 UDP 套接字接收所有数据

想要渲染通过 React 中的套接字接收到的数据