首页 > 解决方案 > 如何通过 UDP 发送图像(或其他大文件)

问题描述

我试图发送一个大文件,即 UDP 客户端和服务器之间的图像。服务器没有收到任何数据。阅读文档后,我了解了单个消息大小的限制。图像在 Base64 中传输,因此将其分成子字符串并单独发送似乎不是问题,但我想知道我是否没有踢出打开的门,有没有更简单的方法?在这个原因中,TCP/IP 也不是一个选项。

标签: javascriptnode.jsudp

解决方案


如果您出于未知原因需要使用 UDP 而不是 TCP,那么您必须忍受它的限制,即消息大小有限,并且消息可能会丢失、重复和重新排序。虽然您的确切代码未知,这意味着它可能需要比您描述的更复杂,因为它必须处理丢失消息的检测(并因此重新传输)、重新排序和重复的检测。您可能做的唯一简化是使用 Base64 对数据进行编码:UDP 传输二进制数据没有问题,因此传输时不需要编码为 ASCII。


推荐阅读