gpt4 book ai didi

c - Epoll vs Libevent for Bittorrent like application

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:35 24 4
gpt4 key购买 nike

我正在为 P2p 文件共享实现 bit torrent。比方说,最多 100 个对等方同时共享。 TCP 连接是在每个对等点之间建立的。最初,一个对等点拥有整个文件,它开始共享片段,随后所有对等点共享他们的片段。

通常,片段大小为 50kB - 1MB。我想知道,在 C 中编写此类应用程序的最佳方法是什么。将线程与 epoll 或 libevent 一起使用?

谁能给出不同可能方法的正面/负面影响?

最佳答案

如果我们在任何给定时刻只谈论 100 个对等连接,那么使用 select 的传统方法或 poll在一组 TCP 套接字上运行会很好。

EPoll 有助于解决何时需要扩展到数千个长时间运行的连接的问题。阅读 C10K problem 上的文档了解更多详情。

我听说过有关 libevent 的好消息。我相信它是 epoll 和其他套接字函数之上的抽象,提供了一些不错的东西。如果它使您的编程更容易,那么一定要使用它。但您可能不需要它来提高性能。

关于c - Epoll vs Libevent for Bittorrent like application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29665513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com