iOS SDK的TCP.h中未定义TCP_KEEPINTVL和TCP_keepncnt

iOS SDK的TCP.h中未定义TCP_KEEPINTVL和TCP_keepncnt,ios,sockets,tcp,keep-alive,darwin,Ios,Sockets,Tcp,Keep Alive,Darwin,我在尝试在套接字上启用tcp保持活动数据包时遇到了麻烦。这在tcp.h第201行中定义: #define TCP_KEEPALIVE 0x10 /* idle time used when SO_KEEPALIVE is enabled */ …但是TCP_KEEPINTVL和TCP_KeepNot不在那里,而且我还没有找到一个提到它们的手册页。这些是在其他地方定义的,并且可能被命名为其他东西吗?iOS是否禁用了它们?它们肯定是在iOS 7和OS X 10.9(可能

我在尝试在套接字上启用tcp保持活动数据包时遇到了麻烦。这在tcp.h第201行中定义:

#define TCP_KEEPALIVE           0x10    /* idle time used when SO_KEEPALIVE is enabled */ 

…但是TCP_KEEPINTVL和TCP_KeepNot不在那里,而且我还没有找到一个提到它们的手册页。这些是在其他地方定义的,并且可能被命名为其他东西吗?iOS是否禁用了它们?

它们肯定是在iOS 7和OS X 10.9(可能更早)中定义的

#包括

然而,我在苹果开发者论坛上发现了一篇帖子,表明它并没有真正实现。

它们肯定是在iOS 7和OS X 10.9(可能更早)中定义的

#包括

然而,我在苹果开发者论坛上发现了一篇帖子,表明它并没有真正实现。

你能看看netinet/tcp\u timer.h吗?我没有可用的IOS头,但肯定有可能IOS不支持它。如果支持的话,手册页tcp(7)应该在提到它们的地方。三个tcp选项keepcount、keepidle和keepintvl仅在每个系统的基础上指定;在许多系统上,它们可以在/proc中找到,并在/etc/sysctl.conf中永久设置。根据应用程序变量提供它们是一个扩展…许多现代桌面操作系统都提供了这个扩展。我强烈怀疑(但不确定)iOS根本不支持这个扩展。你能看看netinet/tcp_timer.h吗?我没有可用的IOS头,但肯定有可能IOS不支持它。如果支持的话,手册页tcp(7)应该在提到它们的地方。三个tcp选项keepcount、keepidle和keepintvl仅在每个系统的基础上指定;在许多系统上,它们可以在/proc中找到,并在/etc/sysctl.conf中永久设置。根据应用程序变量提供它们是一个扩展…许多现代桌面操作系统都提供了这个扩展。我强烈怀疑(但不确定)iOS根本不支持此扩展。
#include <netinet/tcp.h>