我有一个通过UDP发送数据的应用程序。 我试图找出什么是最大/最优的发送缓冲区大小。 我已经成功发送了一个2k包,但更大的包是一个问题。 我试过使用getSendBufferSize来查看发送缓冲区的大小。它返回了110592个字节。 当我尝试发送任何接近它的东西时,我没有收到错误,但数据剂量到达服务器。Android - 发送DatagramSocket最大缓冲区大小
我怎么知道什么是“允许的”发送缓冲区大小?
谢谢。
我有一个通过UDP发送数据的应用程序。 我试图找出什么是最大/最优的发送缓冲区大小。 我已经成功发送了一个2k包,但更大的包是一个问题。 我试过使用getSendBufferSize来查看发送缓冲区的大小。它返回了110592个字节。 当我尝试发送任何接近它的东西时,我没有收到错误,但数据剂量到达服务器。Android - 发送DatagramSocket最大缓冲区大小
我怎么知道什么是“允许的”发送缓冲区大小?
谢谢。
DatagramPacket只是基于UDP套接字的包装,所以通常的UDP规则适用。
64千字节是一个完整的IP数据报的理论最大尺寸,但只有576字节保证被路由。在任何给定的网络路径上,具有最小最大传输单元的链路将确定实际限制。 (1500个字节,少报头是通用最大的,但它是无法预测有多少头会有那么它的最安全的消息限制在约1400个字节)。
我也已经遇到此错误,应为65535 - 28 = 65507字节,用于DatagramPacket发送方法的参数“缓冲区”大小。
感谢您参考网址 – Amos