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