读书人

setsockopt有关问题

发布时间: 2012-03-25 20:55:16 作者: rapoo

setsockopt问题
#define IP_RECORD_ROUTE 0x07

IpOptionHeader ipopt;
ipopt.code=IP_RECORD_ROUTE;
ipopt.ptr=4;
ipopt.len=39;

if(setsockopt(socketfd,IPPROTO_IP,IP_OPTIONS,(char*)&ipopt,sizeof(ipopt))==-1)
{
perror("setsockopt IP_OPTIONS");
return;
}
错误提示:setsockopt IP_OPTIONS: Invalid argument;不知是什么原因。


[解决办法]
米这玩意吧
man一下setsockopt 看看有没有IP_OPTIONS
[解决办法]
int setsockopt( int s,
int level,
int optname,
const void * optval,
socklen_t optlen );

optname可选下面的,没有你说的IP_OPTIONS

IP_HDRINCL · IP_TOS · SO_BINDTODEVICE · SO_BROADCAST · SO_DEBUG · SO_DONTROUTE · SO_ERROR · SO_KEEPALIVE · SO_LINGER · SO_OOBINLINE · SO_RCVBUF · SO_SNDBUF · SO_RCVLOWAT · SO_RCVTIMEO · SO_REUSEADDR · SO_REUSEPORT · SO_SNDLOWAT · SO_SNDTIMEO · SO_TIMESTAMP · SO_TYPE · SO_USELOOPBACK · TCP_KEEPALIVE · TCP_NODELAY
[解决办法]
你这个应该有问题的啊 那个结构体里 没IP这个啊
[解决办法]
使用 man setsockopt 找到标准用法

读书人网 >UNIXLINUX

热点推荐