我该如何在Windows、Mac和Linux上使用C/C++标准库设置Time-To-Live套接字选项?它需要在没有Boost的情况下工作。C或C++都可以。对于传出的UDP数据包,需要修改IP头。不涉及组播。
基本上,这可以通过标准的setsockopt完成。您需要使用IPPROTO_IP级别,选项是IP_TTL。我在gnu.org上找不到相关链接,但(例如...)在freebsd上,您可以查看此手册页面。使用:int ttl = 60; /* max = 255 */ setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));