recv из epolled, неблокирующего сокета в режиме с триггером - PullRequest
1 голос
/ 23 ноября 2010

Может ли кто-нибудь дать мне пример для recv из epoll ed, неблокирующего сокета в режиме запуска по фронту? Я спрашиваю, потому что у меня есть некоторые проблемы.

1 Ответ

1 голос
/ 23 ноября 2010

Страница справочника по настройке EPOLLET имеет:

Ниже предлагается рекомендуемый способ использования epoll в качестве интерфейса Edge Triggered (EPOLLET) и возможные ошибки, которых следует избегать.

i 
with non-blocking file descriptors 
ii 
by going to wait for an event only after read(2) or write(2)
return EAGAIN

Редактировать: Вы также можете вызывать recv () или read () для x байтов, пока не получите меньше x байтов.

Если вы этого не сделаете, вы можетесоздайте голодную ситуацию, когда данные остаются в буфере сокета и предотвращают активность ET в сокете.

Какая у вас проблема?

...