社区
网络编程
帖子详情
请问,recv能实现永久等待吗?怎样实现?
caep_cq
2005-10-17 10:42:51
谢谢
...全文
193
4
打赏
收藏
请问,recv能实现永久等待吗?怎样实现?
谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
caep_cq
2005-10-17
打赏
举报
回复
ximenying(西门) :不是吧,有个默认超时时间吧
ximenying
2005-10-17
打赏
举报
回复
本来就是永久等待直到有数据到来啊,还需要怎么实现啊
godoli
2005-10-17
打赏
举报
回复
int setsockopt (SOCKET s,int level,int optname,const char FAR * optval,int optlen);
int timeout = 6000;// 超时时间
setsockopt(s,SOL_SOCKET,RCVTIMEO,(char FAR *)&timeout,sizeof(int));
19. SO_RCVTIMEO
选项值 类型获取/设置 Winsock版本 说明
整数 两者均可 1 + 获取或设置与套接字上数据接收对应的超时时间值(以毫秒为单位)
SO_RCVTIMEO选项用于设置一个锁定套接字上的接收超时值。这是一个以毫秒为单位的整数,用于指出一个Winsock接收函数在接收数据时,最多应“锁定”多长时间。如需使用SO_RCVTIMEO选项,并用WSASocket函数创建套接字,那么必须将WSA_FLAG_OVERLAPPED指定成为WSASocket的dwFlags参数的一部分。以后对任何Winsock接收函数的调用(包括recv、recvfrom、WSARecv、WSARecvFrom等等)都只会锁定指定的时间长度。假如在那段时间内,没有数据抵达,调用便会失败,并返回错误10060(WSAETIMEDOUT)。
微星1234
2005-10-17
打赏
举报
回复
可以对套接字设置等待时间的啊, 设成足够长不就行啦
WinSock中关于阻塞接收/发送超时的一个BUG
在WinSock中,
recv
from和
recv
函数默认为
永久
阻塞模式,可通过setsockopt设置SO_RCVTIMEO来
实现
超时控制。示例代码展示了如何设置阻塞时间以避免无限
等待
。虽然Linux平台对此处理方式不同,但作者认为Linux的相对时间设定更合理。
linux socket
recv
返回,Linux socket:如何使send()
等待
recv
()
本文讨论了一个简单的客户端-服务器应用程序中TCP协议的send()与
recv
()的同步问题。作者希望send()能够
等待
recv
()完成后再进行下一次发送,以
实现
逐条消息的同步通信。
盘点python socket 中
recv
函数的坑
本文深入解析
recv
函数的参数与执行流程,揭示在Python服务端接收数据时的常见误区,即
recv
函数在何种情况下返回0。并提供解决
recv
函数阻塞问题的有效策略,包括设置非阻塞模式与超时时间。
LWIP之TCP层接收相关 tcp_
recv
的
实现
(转)
本文详细解析了LWIP协议栈的工作原理,包括TCP连接的建立与管理,UDP数据传输,以及如何处理网络断线重连等问题。深入探讨了
recv
from函数的
实现
,从socket的
recv
开始,涉及lwip_
recv
from、netconn_
recv
、do_
recv
和tcp_
recv
ed等关键函数。同时,介绍了TCP事件处理流程,从tcp_input到tcp_process再到tcp_receive,以及相关变量
recv
_flags和
recv
_data的作用。
socket网络编程中read与
recv
区别
本文介绍了在Socket编程中read与
recv
的区别及应用场景,重点对比了它们在数据接收方面的不同行为,如read需要循环读取而
recv
可根据参数设置
等待
读取全部数据或立即返回。同时分享了一些编程实践经验。
网络编程
18,356
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章