关于select的超时设置

CCC的 2014-09-19 02:24:41
是不是用SetSockOpt(FhSocket, SOL_SOCKET, SO_RCVTIMEO, PChar(@TimeOut), SizeOf(TimeOut)) <> SOCKET_ERROR) and (SetSockOpt(FhSocket, SOL_SOCKET, SO_SNDTIMEO, PChar(@TimeOut), SizeOf(TimeOut)) <> SOCKET_ERROR设置了超时,在select中就不用设置超时了
...全文
259 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luotuo44 2014-09-19
  • 打赏
  • 举报
回复
SetSockOpt是对socket fd进行设置超时,和select的超时没有关系。 udp是数据报,要么收到,要么没收到。不会收到一半,或者还没收到规定的长度。recvfrom也没有哪个参数指明要接收的长度
CCC的 2014-09-19
  • 打赏
  • 举报
回复
另外如果select不是设置超时,是不是recvfrom没有收到规定长度的数据就会一直卡在recvfrom这个地方,协议用的是UDP的

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧