前端之家收集整理的这篇文章主要介绍了
unix – sendto的最大缓冲区长度?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何获得可以传递给作为UDP端口打开的
套接字的sendto(..)
调用的最大字节数?
使用getsockopt().
This site可以很好地分解您可以检索的
用法和选项.
在Windows中,您可以执行以下操作:
int optlen = sizeof(int);
int optval;
getsockopt(socket,SOL_SOCKET,SO_MAX_MSG_SIZE,(int *)&optval,&optlen);
对于Linux,根据UDP手册页,内核将使用MTU发现(它将检查此处与目标之间的最大UDP数据包大小,然后选择),或者如果MTU发现关闭,它将设置接口MTU的最大大小和任何更大的片段.如果您通过以太网发送,则典型的MTU为1500字节.