套接字超时实现

时间:2014-11-21 05:47:31

标签: c linux client-server

我正在创建DNS客户端,我需要在其中实现套接字超时。我无法在互联网上找到有关套接字超时的更多信息。所以,我想要一个套接字超时的代码,以及我应该在我的代码中实现套接字超时的位置? 感谢

1 个答案:

答案 0 :(得分:0)

对于100毫秒超时,如果您在客户端使用UDP for DNS,则在进入阻止读取之前需要执行以下操作:

struct timeval timeout;
timeout.tv_sec = 0;
timeout.tv_usec = 100000;
if (setsockopt(receive_socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(tv)) < 0) {
    perror("Error");
}
相关问题