作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 IP_MTU
读取我的TCP 连接 的MTU套接字选项
根据man 7 ip
安装在我的 Debian Etch 上(我知道,它很旧,但现在不能更改它):
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h> /* superset of previous */
[CUT]
IP_MTU Retrieve the current known path MTU of the current socket.
Only valid when the socket has been connected. Returns an integer.
Only valid as a getsockopt(2).
问题是上面的套接字选项不存在于手册页命名的任何包含文件中。 (因此我的代码没有编译;))
相反,我发现它在 <linux/in.h>
中定义(grep
是你的 friend )
如果我尝试添加 <linux/in.h>
对于我的源代码,我得到了各种多重定义/重新声明编译错误。有谁知道为什么标题中缺少上述参数以及如何解决该问题?
非常感谢
塞尔吉奥
最佳答案
答案是:我认为没有答案。我正在运行 Red Hat Enterprise Linux AS release 4 (Nahant Update 8),我遇到了完全相同的问题:
因此,我想唯一要做的就是通过设置 MTU 发现、不断调整 MTU 并观察内核在您尝试发送太大的内容时将您关闭来解决问题。这就是我要做的。
关于c - 缺少在 Debian Etch 上定义的 IP_MTU 套接字选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10462986/
我正在尝试使用 IP_MTU 读取我的TCP 连接 的MTU套接字选项 根据man 7 ip安装在我的 Debian Etch 上(我知道,它很旧,但现在不能更改它): SYNOPSIS
我是一名优秀的程序员,十分优秀!