社区
网络编程
帖子详情
recvfrom 阻塞
mei1977mei
2009-10-30 10:46:26
利用一个套接字编写一个简单的基于UDP的聊天的程序:
在接收端利用recvfrom接收数据,为什么会发生阻塞?从而会导致程序暂停运行?
...全文
118
7
打赏
收藏
recvfrom 阻塞
利用一个套接字编写一个简单的基于UDP的聊天的程序: 在接收端利用recvfrom接收数据,为什么会发生阻塞?从而会导致程序暂停运行?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arong1234
2009-10-31
打赏
举报
回复
why?!第一UDP本来就不该用recv,用recv就不知道谁发送消息过来。其次,即使用recv也不可能规避这个问题
[Quote=引用 4 楼 hufen2740 的回复:]
UDP 用recv就不会阻塞了
[/Quote]
hufen2740
2009-10-31
打赏
举报
回复
UDP 用recv就不会阻塞了
dijkstar
2009-10-31
打赏
举报
回复
同意楼上,默认就是阻塞的,放在线程里使用,就构成了事件型,很好用的
这不是鸭头
2009-10-31
打赏
举报
回复
可以在线程中使用
ziplj
2009-10-31
打赏
举报
回复
recvfrom 是阻塞函数 自己查阅书籍 或者 网络 需要改变的话 简单的方法是重装CSocket的OnRecieveFrom函数来通事件通知窗口数据到达
ziplj
2009-10-31
打赏
举报
回复
LZSB
hufen2740
2009-10-31
打赏
举报
回复
不好意思 我说错啦 是recvfrom
非
阻塞
recv
from的设置
系统默认
recv
from函数是
阻塞
的,这里是非
阻塞
的设置!!!
Linux UDP socket 设置为的非
阻塞
模式与
阻塞
模式区别
Linux UDP socket 设置为的非
阻塞
模式与
阻塞
模式区别 UDP socket 设置为的非
阻塞
模式 Len =
recv
from(SocketFD, sz
Recv
Buf, sizeof(sz
Recv
Buf), MSG_DONTWAIT, (struct sockaddr *)&SockAddr,&ScokAddrLen); UDP socket 设置为的
阻塞
模式 Len =
recv
from(SocketFD, sz
Recv
Buf, sizeof(sz
Recv
Buf), 0, (struct sockaddr *)&SockAddr,&ScokAddrLen); Li
Linux系统调用--
recv
/
recv
from 函数详解
从套接字上接收一个消息。对于
recv
from ,可同时应用于面向连接的和无连接的套接字。
recv
一般只用在面向连接的套接字,几乎等同于
recv
from,只要将
recv
from的第五个参数设置NULL。 如果消息太大,无法完整存放在所提供的缓冲区,根据不同的套接字,多余的字节会丢弃。 假如套接字上没有消息可以读取,除了套接字已被设置为非
阻塞
模式,否则接收调用会等待消息的到来。
LWIP中文手册
方便英语基础不好的人快速理解LWIP,将LWIP进行汉化,便于开发人员理解
python 并发编程
阻塞
IO模型原理解析
阻塞
IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了
recv
from这个系统调用,kernel内核就开始了IO的第一个阶段:准备数据。对于network io( 网络io )来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel( 内核 )就要等待足够的数据到来。 等着对方把数据放到自己操作系统内存 而在用户进程这边,整个进程会被
阻塞
。当kernel一直等到数据准备好了,它就会将数据从kernel操作系统缓存中拷贝到用户应用程序内存, 然后ker
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章