WinSock2.h设置recv()超时

函数定义

int setsockopt(
  [in] SOCKET     s,
  [in] int        level,
  [in] int        optname,
  [in] const char *optval,
  [in] int        optlen
);

设置方法

SOCKET WSAAPI socket(
  [in] int af,
  [in] int type,
  [in] int protocol
);

完之后,我们会获得一个SOCKET,setsockopt()的第一个参数就填它

int timeout = 10000;
setsockopt(my_server_socket, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(int));

超时以毫秒为单位

返回值

正常执行后会返回0,否则返回其他值

更多设置

https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-setsockopt#parameters

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据