通过setsockopt()禁用套接字超时

时间:2018-04-07 11:27:08

标签: c++ sockets timeout berkeley-sockets

假设我在C或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;

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

1 个答案:

答案 0 :(得分: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

  

如果超时设置为零(默认值),则操作永远不会超时