在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → java实现的bt协议项目源码ttorrent,非常不错的

java实现的bt协议项目源码ttorrent,非常不错的

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.78M
  • 下载次数:2
  • 浏览次数:440
  • 发布时间:2021-01-12
  • 实例类别:一般编程问题
  • 发 布 人:好学IT男
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
bittorrent协议的java实现,想学习或者做bt项目的同学可以参考。包含bencode,DHT,bittorrent 的完整实现。最低要求jdk6
【实例截图】
【核心代码】
db3d60bd-e589-4a33-a7ac-a7d435daa499
└── ttorrent-master
├── assembly.xml
├── bencoding
│   ├── pom.xml
│   └── src
│   ├── main
│   │   └── java
│   │   └── com
│   │   └── turn
│   │   └── ttorrent
│   │   └── bcodec
│   │   ├── BDecoder.java
│   │   ├── BEncoder.java
│   │   ├── BEValue.java
│   │   └── InvalidBEncodingException.java
│   └── test
│   └── java
│   └── BDecoderTest.java
├── bin
│   ├── ttorent-torrent
│   ├── ttorrent
│   └── ttorrent-tracker
├── cli
│   ├── pom.xml
│   └── src
│   └── main
│   └── java
│   └── com
│   └── turn
│   └── ttorrent
│   └── cli
│   ├── ClientMain.java
│   ├── TorrentMain.java
│   └── TrackerMain.java
├── common
│   ├── pom.xml
│   └── src
│   ├── main
│   │   └── java
│   │   └── com
│   │   └── turn
│   │   └── ttorrent
│   │   ├── common
│   │   │   ├── AnnounceableInformation.java
│   │   │   ├── creation
│   │   │   │   ├── CommonHashingCalculator.java
│   │   │   │   ├── DataSourceHolder.java
│   │   │   │   ├── HashingResult.java
│   │   │   │   ├── MetadataBuilder.java
│   │   │   │   ├── MultiThreadHashesCalculator.java
│   │   │   │   ├── PiecesHashesCalculator.java
│   │   │   │   ├── SingleThreadHashesCalculator.java
│   │   │   │   ├── Source.java
│   │   │   │   └── StringUtils.java
│   │   │   ├── ImmutableTorrentHash.java
│   │   │   ├── LoggerUtils.java
│   │   │   ├── Optional.java
│   │   │   ├── Pair.java
│   │   │   ├── Peer.java
│   │   │   ├── PeerUID.java
│   │   │   ├── protocol
│   │   │   │   ├── AnnounceRequestMessage.java
│   │   │   │   ├── AnnounceResponseMessage.java
│   │   │   │   ├── http
│   │   │   │   │   ├── HTTPAnnounceRequestMessage.java
│   │   │   │   │   ├── HTTPAnnounceResponseMessage.java
│   │   │   │   │   ├── HTTPTrackerErrorMessage.java
│   │   │   │   │   └── HTTPTrackerMessage.java
│   │   │   │   ├── PeerMessage.java
│   │   │   │   ├── TrackerMessage.java
│   │   │   │   └── udp
│   │   │   │   ├── UDPAnnounceRequestMessage.java
│   │   │   │   ├── UDPAnnounceResponseMessage.java
│   │   │   │   ├── UDPConnectRequestMessage.java
│   │   │   │   ├── UDPConnectResponseMessage.java
│   │   │   │   ├── UDPTrackerErrorMessage.java
│   │   │   │   └── UDPTrackerMessage.java
│   │   │   ├── SystemTimeService.java
│   │   │   ├── TimeService.java
│   │   │   ├── TorrentCreator.java
│   │   │   ├── TorrentFile.java
│   │   │   ├── TorrentHash.java
│   │   │   ├── TorrentInfo.java
│   │   │   ├── TorrentLoggerFactory.java
│   │   │   ├── TorrentMetadataImpl.java
│   │   │   ├── TorrentMetadata.java
│   │   │   ├── TorrentMetadataKeys.java
│   │   │   ├── TorrentParser.java
│   │   │   ├── TorrentSerializer.java
│   │   │   ├── TorrentStatistic.java
│   │   │   └── TorrentUtils.java
│   │   └── Constants.java
│   └── test
│   └── java
│   └── com
│   └── turn
│   └── ttorrent
│   └── common
│   ├── creation
│   │   ├── HashesCalculatorsTest.java
│   │   └── MetadataBuilderTest.java
│   ├── protocol
│   │   ├── http
│   │   │   └── HTTPAnnounceResponseMessageTest.java
│   │   └── udp
│   │   └── UDPAnnounceResponseMessageTest.java
│   ├── TorrentParserTest.java
│   └── TorrentUtilsTest.java
├── COPYING
├── INSTALL
├── network
│   ├── pom.xml
│   └── src
│   ├── main
│   │   └── java
│   │   └── com
│   │   └── turn
│   │   └── ttorrent
│   │   └── network
│   │   ├── AcceptAttachmentImpl.java
│   │   ├── AcceptAttachment.java
│   │   ├── ChannelListenerFactory.java
│   │   ├── ConnectionClosedException.java
│   │   ├── ConnectionListener.java
│   │   ├── ConnectionManagerContext.java
│   │   ├── ConnectionManager.java
│   │   ├── ConnectionWorker.java
│   │   ├── ConnectTask.java
│   │   ├── FirstAvailableChannel.java
│   │   ├── keyProcessors
│   │   │   ├── AcceptableKeyProcessor.java
│   │   │   ├── CleanupKeyProcessor.java
│   │   │   ├── CleanupProcessor.java
│   │   │   ├── ConnectableKeyProcessor.java
│   │   │   ├── InvalidKeyProcessor.java
│   │   │   ├── KeyProcessor.java
│   │   │   ├── KeyProcessorUtil.java
│   │   │   ├── ReadableKeyProcessor.java
│   │   │   └── WritableKeyProcessor.java
│   │   ├── NewConnectionAllower.java
│   │   ├── ReadAttachment.java
│   │   ├── ReadWriteAttachment.java
│   │   ├── SelectorFactory.java
│   │   ├── ServerChannelRegister.java
│   │   ├── TimeoutAttachment.java
│   │   ├── TimeoutStorageImpl.java
│   │   ├── TimeoutStorage.java
│   │   ├── WriteAttachment.java
│   │   ├── WriteListener.java
│   │   └── WriteTask.java
│   └── test
│   └── java
│   └── com
│   └── turn
│   └── ttorrent
│   └── network
│   ├── ConnectionManagerTest.java
│   ├── ConnectionWorkerTest.java
│   ├── keyProcessors
│   │   ├── CleanupKeyProcessorTest.java
│   │   └── WritableKeyProcessorTest.java
│   ├── StateChannelListenerTest.java
│   └── WorkingReceiverTest.java
├── pom.xml
├── README.md
├── test-api
│   ├── pom.xml
│   └── src
│   └── main
│   └── java
│   └── com
│   └── turn
│   └── ttorrent
│   ├── MockTimeService.java
│   ├── TempFiles.java
│   ├── Utils.java
│   └── WaitFor.java
├── tests
│   ├── pom.xml
│   └── src
│   └── test
│   ├── java
│   │   └── com
│   │   └── turn
│   │   └── ttorrent
│   │   ├── client
│   │   │   ├── announce
│   │   │   │   └── TrackerClientTest.java
│   │   │   └── CommunicationManagerTest.java
│   │   ├── common
│   │   │   └── TorrentTest.java
│   │   ├── CommunicationManagerFactory.java
│   │   ├── DummyPeerActivityListener.java
│   │   └── tracker
│   │   ├── TrackerAnnounceTest.java
│   │   ├── TrackerTest.java
│   │   └── TrackerUtils.java
│   └── resources
│   ├── parentFiles
│   │   ├── file1.jar
│   │   ├── file2.jar
│   │   └── parentDir
│   │   ├── AccuRevCommon.jar
│   │   ├── commons-io-cio2.5_3.jar
│   │   ├── commons-io-cio2.5_3.jar.link
│   │   ├── inDir
│   │   │   └── application.wadl
│   │   └── storage.version
│   └── torrents
│   ├── file1.jar.torrent
│   ├── file2.jar.torrent
│   ├── parentDir.linux.torrent
│   └── parentDir.win.torrent
├── ttorrent-client
│   ├── pom.xml
│   └── src
│   ├── main
│   │   └── java
│   │   └── com
│   │   └── turn
│   │   └── ttorrent
│   │   └── client
│   │   ├── announce
│   │   │   ├── AnnounceException.java
│   │   │   ├── Announce.java
│   │   │   ├── AnnounceResponseListener.java
│   │   │   ├── HTTPTrackerClient.java
│   │   │   ├── TrackerClientFactoryImpl.java
│   │   │   ├── TrackerClientFactory.java
│   │   │   ├── TrackerClient.java
│   │   │   └── UDPTrackerClient.java
│   │   ├── AnnounceableInformationImpl.java
│   │   ├── ClientState.java
│   │   ├── CommunicationManager.java
│   │   ├── Context.java
│   │   ├── EventDispatcher.java
│   │   ├── FileMetadataProvider.java
│   │   ├── Handshake.java
│   │   ├── LoadedTorrentImpl.java
│   │   ├── LoadedTorrent.java
│   │   ├── network
│   │   │   ├── CountLimitConnectionAllower.java
│   │   │   ├── DataProcessor.java
│   │   │   ├── DataProcessorUtil.java
│   │   │   ├── HandshakeReceiver.java
│   │   │   ├── HandshakeSender.java
│   │   │   ├── OutgoingConnectionListener.java
│   │   │   ├── ShutdownAndRemovePeerProcessor.java
│   │   │   ├── ShutdownProcessor.java
│   │   │   ├── StateChannelListener.java
│   │   │   └── WorkingReceiver.java
│   │   ├── peer
│   │   │   ├── MessageListener.java
│   │   │   ├── PeerActivityListener.java
│   │   │   ├── Rate.java
│   │   │   ├── SharingPeerInfo.java
│   │   │   └── SharingPeer.java
│   │   ├── PeerInformation.java
│   │   ├── PeersStorage.java
│   │   ├── PieceInformation.java
│   │   ├── Piece.java
│   │   ├── SelectorFactoryImpl.java
│   │   ├── SharedTorrent.java
│   │   ├── SharingPeerFactory.java
│   │   ├── SimpleClient.java
│   │   ├── storage
│   │   │   ├── EmptyPieceStorageFactory.java
│   │   │   ├── FairPieceStorageFactory.java
│   │   │   ├── FileCollectionStorage.java
│   │   │   ├── FileStorage.java
│   │   │   ├── FullyPieceStorageFactory.java
│   │   │   ├── PieceStorageFactory.java
│   │   │   ├── PieceStorageImpl.java
│   │   │   ├── PieceStorage.java
│   │   │   └── TorrentByteStorage.java
│   │   ├── strategy
│   │   │   ├── EndGameStrategyImpl.java
│   │   │   ├── EndGameStrategy.java
│   │   │   ├── RequestsCollectionImpl.java
│   │   │   ├── RequestsCollection.java
│   │   │   ├── RequestStrategyImplAnyInteresting.java
│   │   │   ├── RequestStrategyImplSequential.java
│   │   │   └── RequestStrategy.java
│   │   ├── TorrentConnectionListener.java
│   │   ├── TorrentListener.java
│   │   ├── TorrentListenerWrapper.java
│   │   ├── TorrentLoaderImpl.java
│   │   ├── TorrentLoader.java
│   │   ├── TorrentManagerImpl.java
│   │   ├── TorrentManager.java
│   │   ├── TorrentMetadataProvider.java
│   │   └── TorrentsStorage.java
│   └── test
│   └── java
│   └── com
│   └── turn
│   └── ttorrent
│   └── client
│   ├── ByteArrayStorage.java
│   ├── EventDispatcherTest.java
│   ├── network
│   │   └── HandshakeReceiverTest.java
│   ├── PeersStorageTest.java
│   ├── storage
│   │   ├── FairPieceStorageFactoryTest.java
│   │   ├── FileCollectionStorageTest.java
│   │   └── PieceStorageImplTest.java
│   └── strategy
│   └── RequestStrategyImplAnyInterestingTest.java
└── ttorrent-tracker
├── pom.xml
└── src
├── main
│   └── java
│   └── com
│   └── turn
│   └── ttorrent
│   └── tracker
│   ├── AddressChecker.java
│   ├── MultiAnnounceRequestProcessor.java
│   ├── PeerCollectorThread.java
│   ├── TorrentsRepository.java
│   ├── TrackedPeer.java
│   ├── TrackedTorrent.java
│   ├── Tracker.java
│   ├── TrackerRequestProcessor.java
│   └── TrackerServiceContainer.java
└── test
└── java
└── com
└── turn
└── ttorrent
└── tracker
├── MultiAnnounceRequestProcessorTest.java
└── TorrentsRepositoryTest.java

117 directories, 218 files

标签:

实例下载地址

java实现的bt协议项目源码ttorrent,非常不错的

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警