У меня есть приложение, которое будет работать как p2p-программное обеспечение, где все одноранговые узлы будут разговаривать друг с другом. Поскольку связь будет TCP, я думал, что могу использовать epool(4), чтобы можно было обрабатывать несколько соединений. Поскольку каждый одноранговый узел будет отправлять данные очень часто, я думал, что установил постоянное соединение с каждым одноранговым узлом, который будет использоваться в течение срока службы приложений.Работа с данными по нескольким TCP-соединениям с epoll
Теперь, одна вещь, с которой я не знаю, как обращаться, заключается в том, что, поскольку соединение никогда не закрывается, как я узнаю, когда я должен прекратить прием данных с помощью read()
и позвонить epool_wait()
еще раз, чтобы прослушать больше пакетов? Или есть лучший способ борьбы с постоянными TCP-соединениями?
Просто из любопытства: почему epoll (BTW: это не «epool»), а не обычный опрос или выбор (оба гораздо более портативные, я думаю)? –