在一个现有的网络库中,我的任务是工作,setsockopt
有一个我不明白的电话
在这里您可以看到TCP套接字开始创建:
[socket] fd(11) domain(2:AF_INET) type(1:SOCK_STREAM) protocol(0:default)
在setsockopt
协议级别选择SO_BROADCAST
之后,立即拨打IPPROTO_TCP
,选项值为5
[setsockopt] fd(11) level(6:IPPROTO_TCP) option(6:SO_BROADCAST) ret(0) option:
0 0500 0000 ....
根据Beej's guide to networking这个&#34;对TCP流套接字没什么作用!哈哈哈&#34; <!/ em>的
问题:
option_value=1
,那么5
的内容是什么?答案 0 :(得分:3)
我认为你的setsockopt解码器是错误的。你确定它不是其中之一吗?
#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */
#define TCP_MAXSEG 2 /* Set maximum segment size */
#define TCP_CORK 3 /* Control sending of partial frames */
#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
#define TCP_KEEPINTVL 5 /* Interval between keepalives */
#define TCP_KEEPCNT 6 /* Number of keepalives before death */
这不是完整的清单。请参阅/usr/include/netinet/tcp.h了解所有内容。