我正在从事与网络相关的项目,并且正在使用 DTLS (TLS/UDP) 来保护通信。
阅读 DTLS 的规范,我注意到 DTLS 需要设置DF标志(不要分段)。
在我的本地网络上,如果我尝试发送大于 1500 字节的消息,则不会发送任何内容。这很有意义。在 Windows 上, sendto() 报告成功,但没有发送任何内容。
我显然不能手动取消设置DF标志,因为它对于 DTLS 是强制性的,而且我不确定 1500 字节限制(MTU?)在某些情况下是否会改变。我想它可以。
所以,我的问题是:“有没有办法发现这个限制?” 使用 API 吗?
如果不是,那么可能的最低值是多少?
我的软件在 UNIX(Linux/MAC OSX)和 Windows 操作系统下运行,因此欢迎为每个操作系统提供不同的解决方案;)
非常感谢。