udp发送数据时,如果目标机不存在,sendto函数会不会阻塞?

kook_趙 2021-04-06 09:21:16
最近用Vxworks进行网络通信,发现目标机不存在时,用sendto函数发送udp数据包,出现阻塞的情况。
将sendto入口参数中的标志位设置成MSG_DONTWAIT (非阻塞)后,不再出现阻塞情况。
但是有个疑问,udp不是无连接的吗?按理说不管目标机是否存在,调用sendto后不都应该是把数据包复制到底层缓冲区立刻就返回了吗?
...全文
3948 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
C++摸不着头脑 2021-12-28
  • 打赏
  • 举报
回复

请问下博主,网络编程时这相关函数直接显示未定义是怎么回事啊,我库也导入了的,是需要建立特使的系统环境吗

linux地平线 2021-07-23
  • 打赏
  • 举报
回复

c++11/14/17/20/23新特性代码案例,包含lambda匿名函数,右值引用,auto,coroutine库,synchronization库等。
https://github.com/0voice/cpp_new_features

闻啼鸟 2021-06-24
  • 打赏
  • 举报
回复

非阻塞写的情况下,是采用可以写多少就写多少的策略。相当于异步方式。而阻塞模式属于同步方式,等系统完成IO操作才会返回,进行下一轮write

worldy 2021-04-07
  • 打赏
  • 举报
回复
UDP相当于送信,信件送出就不管;MSG_DONTWAIT 应该是等待底层发送完成,而不是等待对方响应!

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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