看了你的回复我才发现blockingrecv默认会等vlen条。
你要么试试poll+nonnlock,要么看看waitforone会不会返回多条?如果你的thread只关注这一个fd,后者应该适合你。
我要是设计者的话,我肯定会让waitforone返回的时候返回尽可能多的message的
【 在 pht398 的大作中提到: 】
: 嗯 我也想到了这个 recvmmsg我设置的flag是MSG_WAITFORONE 也就是只阻塞收一条 我理想的结果是一次recvmmsg可以把缓冲区的消息全部收到 但实际情况是调一次recvmmsg总是收到固定vlen条消息 是不是说明收的速度已经跟不上缓冲区写入的速度了呢
: 【 在 lambdai 的大作中提到: 】
: : 先试试把recvfrom改成recvmmsg吧。应该能省不少syscall
: ....................
- 来自「最水木 for iPhone12,8」
--
FROM 104.133.8.*