C++ OSX上TCP_USER_超时的setsockopt选项名称是什么
我正在尝试将一些代码移植到OSX上-似乎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
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
说明-它们似乎不太相似。引发异常。编译器错误打印在控制台上。它们不是例外,也不会被抛出。下次请随意编辑文章并给出解释。如果你看了,这会告诉你,但不会告诉其他人。这是一个常见的错误语句。抛出异常。编译器错误打印在控制台上。它们不是例外,也不会被抛出。下次请随意编辑文章并给出解释。如果你看了,这会告诉你,但不会告诉其他人。这是一个常见的错误陈述。