关键词不能为空

当前您在: 主页 > 英语 >

linux下使用writesend发送数据报eagainresourcetemporarilyunavailable错

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-19 14:47
tags:

-

2021年2月19日发(作者:rsb)


linux


下使用


writesend


发送数据报


eagainresourcetemporarilyun available









linux


下使用


writesend


发送数据报



EAGAIN : Resource


temporarily unavailable


错首先是我把套接字设置为异步的


了,然后在使用


w rite


发送数据时采取的方式是循环发送大


量的数据;


由于是异步的,


writesend


将要发送 的数据提交到


发送缓冲区后是立即返回的,并不需要对端确认数据已接

< br>收。在这种情况下是很有可能出现发送缓冲区被填满,导致


writesend< /p>


无法再向缓冲区提交要发送的数据。


因此就产生了


Resource temporarily unavailable


的错误,


EAGAIN


的意思也


很明显,就是要你再次尝试。从字面上来看,是提示再试一


次。这个错误经常出现在当应用程序进行一些非阻塞


(non-bloc king)


操作


(


对文件或

< p>
socket)


的时候。例如,以



O_NONBLOCK


的标志打开文件


/socke t/FIFO



如果你连续做


read


操作而没有数据可读。此时程序不会阻塞起来等待数据


准备就绪 返回,


read


函数会返回一个错误


E AGAIN


,提示你


的应用程序现在没有数据可读请稍后再试。 又例如,当一个


系统调用


(


比如


fork)


因为没有足够的资源


(

< p>
比如虚拟内存


)



执行失 败,返回


EAGAIN


提示其再调用一次


(


也许下次就能


成功


)



Linux -


非阻塞


socket


编程处理


EAGAIN


错 误在


linux


进行非阻塞的


sock et


接收数据时经常出现


Resource

-


-


-


-


-


-


-


-



本文更新与2021-02-19 14:47,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/667996.html

linux下使用writesend发送数据报eagainresourcetemporarilyunavailable错的相关文章

linux下使用writesend发送数据报eagainresourcetemporarilyunavailable错随机文章