TCP通讯中,select到读事件,但是读到的数据量是0,为什么,如何解决?

select 返回0代表超时。select出错返回-1。

select到读事件,但是读到的数据量为0,说明对方已经关闭了socket的读端。本端关闭读即可。

当select出错时,会将接口置为可读又可写。这时就要通过判断select的返回值为-1来区分。

发表评论

后才能评论

评论(1)