如何使用C / C ++标准库在Windows,Mac和Linux上的C / C ++中设置生存时间套接字选项?它需要在没有Boost的情况下工作。无论是C还是C ++都可以。传出UDP数据包的IP头修改。没有多播。
答案 0 :(得分:5)
基本上这是通过标准setsockopt
完成的。您需要使用IPPROTO_IP
级别,选项为IP_TTL
。
我在gnu.org上找不到这个链接,但是(例如..)在freebsd上你有this手册页。
使用:
int ttl = 60; /* max = 255 */
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));