Android-发送DatagramSocket最大缓冲区大小

Android-发送DatagramSocket最大缓冲区大小,android,size,buffer,send,datagram,Android,Size,Buffer,Send,Datagram,我有一个通过UDP发送数据的应用程序。 我试图找出最大/最佳发送缓冲区大小。 我成功地发送了一个2k的包,但更大的包是一个问题。 我尝试使用getSendBufferSize查看发送缓冲区的大小。它返回110592字节。 当我尝试发送任何接近它的内容时,我没有收到错误,但是数据没有到达服务器 如何知道“允许的”发送缓冲区大小 谢谢。DatagramPacket只是基于UDP的套接字上的一个包装器,因此通常的UDP规则适用 64KB是完整IP数据报的理论最大大小,但只能保证路由576字节。在任何给

我有一个通过UDP发送数据的应用程序。 我试图找出最大/最佳发送缓冲区大小。 我成功地发送了一个2k的包,但更大的包是一个问题。 我尝试使用getSendBufferSize查看发送缓冲区的大小。它返回110592字节。 当我尝试发送任何接近它的内容时,我没有收到错误,但是数据没有到达服务器

如何知道“允许的”发送缓冲区大小


谢谢。

DatagramPacket只是基于UDP的套接字上的一个包装器,因此通常的UDP规则适用

64KB是完整IP数据报的理论最大大小,但只能保证路由576字节。在任何给定的网络路径上,具有最小最大传输单元的链路将确定实际限制。(1500字节,更少的报头是常见的最大值,但无法预测有多少报头,因此将消息限制在1400字节左右是最安全的。)


参考:

我也遇到了这个错误,对于DatagramPacket发送方法的参数“buffer”大小,它应该是65535-28=65507字节