gpt4 book ai didi

用于 Bittorrent 跟踪器连接的 Java NIO 与 Thread

转载 作者:行者123 更新时间:2023-12-02 06:03:22 24 4
gpt4 key购买 nike

我正在尝试用 Java 编写 BitTorrent 客户端,只是为了练习。对于跟踪器连接,我使用 torrent 文件的 announce-list 字段中的 URL。为了与跟踪器进行实际通信,我使用了 java nio(DatagramChannel 和选择器)而不是线程,并且它正在工作。但是,根据 torrent 规范,如果未收到相应的响应,则每 15 * 2^n 秒重新传输请求。当我通过 NIO 寻找解决方案时,我找不到任何解决方案。但是,我发现许多对 Timer 和 TimerTask 类的引用。所以我的问题是:我应该使用 NIO 还是使用 TimerTask 来安排跟踪器请求发送?如果答案是NIO,如何使用NIO实现重传的事情?

最佳答案

也许使用 ScheduledExecutorService使用NIO触发延迟任务并执行操作?这比 TimerTask 有一些优势。您可以继续使用 NIO 来避免阻塞应用程序的网络 I/O 部分。

关于用于 Bittorrent 跟踪器连接的 Java NIO 与 Thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55960539/

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