日期:2014-05-16  浏览次数:20805 次

问一个关于调用setsockopt函数设置tos值的问题
我新建了一个socket,然后调用setsockopt(sock,IPPROTO_IP,IP_TOS,0x4,4)设置这个socket的tos值。但老是失败,errno报错的value是9(EBADF),好像是没有访问这个字段权限的问题。不知道哪位大侠能解释一下为什么。谢谢。

------解决方案--------------------
socket()返回不是-1就应该是正确的, 另外setsockopt(sock,IPPROTO_IP,IP_TOS,0x4,4)的弟个参数 这样传正确么?
------解决方案--------------------
int optval = 0x4;
setsockopt(sock, IPPROTO_IP, IP_TOS, &optval, sizeof(optval));
这样看看。