gpt4 book ai didi

unix - sendto的最大缓冲区长度?

转载 作者:行者123 更新时间:2023-12-04 10:02:42 25 4
gpt4 key购买 nike

如何获得可以传递给 sendto(..) 的最大字节数?调用作为 UDP 端口打开的套接字?

最佳答案

使用getsockopt()。 This site对您可以检索的用法和选项进行了很好的分割。

在 Windows 中,您可以执行以下操作:

int optlen = sizeof(int);
整数选择值;
getsockopt(socket, SOL_SOCKET, SO_MAX_MSG_SIZE, (int *)&optval, &optlen);

对于 Linux,根据 UDP 手册页,内核将使用 MTU 发现(它将检查此处和目的地之间的最大 UDP 数据包大小,并选择它),或者如果 MTU 发现关闭,它会设置接口(interface) MTU 的最大大小和更大的片段。如果您通过以太网发送,典型的 MTU 为 1500 字节。

关于unix - sendto的最大缓冲区长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com