0

假设我在 C++ 中有以下代码,它将设置套接字的超时时间:

struct timeval time_val_struct = { 0 };
time_val_struct.tv_sec = 1;
time_val_struct.tv_usec = 0;
return_value = setsockopt(this->m_fdSocket, SOL_SOCKET, SO_RCVTIMEO,(const char*) &time_val_struct, sizeof(time_val_struct));
    if (return_value == -1)
        return;

如何使用相同的命令禁用超时?

4

1 回答 1

1

您必须将超时值设置为 0。这可以解决问题。

struct timeval time_val_struct;
time_val_struct.tv_sec = 0;
time_val_struct.tv_usec = 0;

可以在这里找到参考:https ://linux.die.net/man/7/socket

如果超时设置为零(默认),那么操作将永远不会超时

于 2018-04-07T11:44:52.260 回答