Linux, C, epoll(), read() data incompleted?

前端 未结 2 1040
无人共我
无人共我 2021-01-28 15:59

Linux, C. Below issue only happens by using epoll(). If I use select() on server socket, there is no data loss.

=============================

Update: I received

2条回答
  •  温柔的废话
    2021-01-28 16:04

     event.events = EPOLLIN | EPOLLET;
    

    You are doing edge triggered polling. Which means your last read is probably not reading all the available data. It stops after reading 64k data, even if there is more data available. But the poll will not trigger again due to the edge trigger. Suggest removing EPOLLET.

提交回复
热议问题