是否可以通过 UDP 发送非常大的数据?

is it possible to send very big data over UDP?

我想通过 UDP 发送非常大的数据。
我知道我可以通过 UDP 发送 64K(64 * 1024 字节)并且我将拥有 UDP 协议支持的碎片。
但是如果我有超过 64K 的数据要发送......我该如何发送呢?

我知道我可以获取这个大数据 => 将其转换为字节数组并将该字节数组分成更小的部分(64K)并将其作为单个包发送...并使用这种方式发送所有包.

但是有没有什么办法不自己分呢?
是否可以使用内置(ip 层)UDP/TCP 碎片或我遗漏了什么?

I know that I can send 64K ( 64* 1024 bytes ) over UDP

不,你不能。 UDP 数据报有效负载的绝对最大大小为 65507 字节。

普遍接受的实际限制是 534 字节。

差别很大。

and I will have the fragmentation that supported by the UDP protocol.

UDP 协议不支持分段。它受 IP 协议支持。如果你足够幸运,一个分片数据报的片段都到了,IP 会重新组装它并传递给 UDP。如果不是,不是。 UDP 本身在这个过程中没有任何作用。

But If I have more then 64K data to send ... how can I send it ?

一次一块,带有序列编号、基于 ACK 或 NACK 的协议、重复拒绝、重新排序、重组、定步、指数退避,...换句话说,TCP。