C++ OSX上TCP_USER_超时的setsockopt选项名称是什么

C++ OSX上TCP_USER_超时的setsockopt选项名称是什么,c++,macos,sockets,tcp,setsockopt,C++,Macos,Sockets,Tcp,Setsockopt,我正在尝试将一些代码移植到OSX上-似乎setsockopt与Linux有一些不同之处。到目前为止,我发现并纠正的是使用TCP_KEEPALIVE而不是TCP_KEEPIDLE OSX的TCP_用户_超时等效于什么 使用TCP_USER_TIMEOUT无法编译并打印未声明的标识符错误我在TCP.h中找到一个名为“TCP_CONNECTIONTIMEOUT”的宏。我用它来代替Mac上的TCP\u用户\u超时。它工作得很好。您可以试试。我在TCP.h中找到一个名为“TCP\u CONNECTIONT

我正在尝试将一些代码移植到OSX上-似乎
setsockopt
与Linux有一些不同之处。到目前为止,我发现并纠正的是使用TCP_KEEPALIVE而不是TCP_KEEPIDLE

OSX的TCP_用户_超时等效于什么


使用TCP_USER_TIMEOUT无法编译并打印未声明的标识符错误

我在TCP.h中找到一个名为“TCP_CONNECTIONTIMEOUT”的宏。我用它来代替Mac上的TCP\u用户\u超时。它工作得很好。您可以试试。

我在TCP.h中找到一个名为“TCP\u CONNECTIONTIMEOUT”的宏。我用它来代替Mac上的TCP\u用户\u超时。它工作得很好。您可以试试。

另一个可能的选项是来自同一标题的
TCP\u RXT\u CONNDROPTIME

#define TCP_RXT_CONNDROPTIME    0x80    /* time after which tcp retransmissions will be 
                                         * stopped and the connection will be dropped
                                         */
我发现这很奇怪,这里为
TCP\u USER\u TIMEOUT
提供了三种实现:

  • Linux:
    TCP\u USER\u TIMEOUT
    是手动设置的(看起来这个代码已经过时了)
  • 达尔文:
    TCP\u RXT\u CONNDROPTIME
  • Win:没有提供实现
这可能是个线索,但我自己还没有测试过。我只是希望这些信息能对某些人有所帮助


检查和中的
TCP\u USER\u TIMEOUT
TCP\u CONNECTIONTIMEOUT
说明-它们似乎不太相似。

另一个可能的选项是来自同一标头的
TCP\u RXT\u CONNDROPTIME

#define TCP_RXT_CONNDROPTIME    0x80    /* time after which tcp retransmissions will be 
                                         * stopped and the connection will be dropped
                                         */
我发现这很奇怪,这里为
TCP\u USER\u TIMEOUT
提供了三种实现:

  • Linux:
    TCP\u USER\u TIMEOUT
    是手动设置的(看起来这个代码已经过时了)
  • 达尔文:
    TCP\u RXT\u CONNDROPTIME
  • Win:没有提供实现
这可能是个线索,但我自己还没有测试过。我只是希望这些信息能对某些人有所帮助


检查和中的
TCP\u USER\u TIMEOUT
TCP\u CONNECTIONTIMEOUT
说明-它们似乎不太相似。

引发异常。编译器错误打印在控制台上。它们不是例外,也不会被抛出。下次请随意编辑文章并给出解释。如果你看了,这会告诉你,但不会告诉其他人。这是一个常见的错误语句。抛出异常。编译器错误打印在控制台上。它们不是例外,也不会被抛出。下次请随意编辑文章并给出解释。如果你看了,这会告诉你,但不会告诉其他人。这是一个常见的错误陈述。