Search the Community
Showing results for tags 'protocol'.
For fun I thought I would try and write a BitTorrent client, I am writing it in Java. I have familiarized myself with the BitTorrent protocol and I have successfully, using a torrent file, gotten a list of peers from tracker(s), I have successfully completed a handshake, sent an interested message, receive the Unchoke message, downloaded pieces from a peer and validated the pieces with the hashed value in the torrent file. Although I have not downloaded a complete torrent I have downloaded complete files within the torrent, small text files. What I cannot do, so far, is get the metadata from another peer, ie use a magnetic link to download torrents. I have read http://www.bittorrent.org/beps/bep_0009.html and I believe I am seding the correct information to request the data. When I sniff the communication using Wireshark I see that after I send the request the client closes the connection, ie FIN,ACK or RST, ACK, I have seen both. I have sniffed to see what happens when uTorrent downloads the metadata and tried to mimic those calls but this does not work for me either. Does anyone have any suggestions? Also, is there documentation somewhere that I can tell what all the messages sent mean? 00 00 00 03 14 03 00 I know this message is 3 bytes long, it is an extended message, type 20 but I don't know what the other 2 bytes mean. Also I see this as well 00 00 00 01 0f Don't know what this means either. I would appreciate any help.
I'm sure this question/feature-request may have been asked before. I'm fascinated with the bit torrent and it's potential but most of the ideas I have for utilizing bit-torrent require the ability to allow torrents that can be updated and, those updates being able to propagate to all seeders. I understand now that it is not possible - you would have to create a new torrent. This is inefficient because the new torrent effectively invalidates the former yet there is no way to link them and, you'd need to proliferate a new torrent, potentially with many duplicate files for only a small change. It would be *wonderful* if torrents could somehow allow change, versioning and propagation. Is that on the roadmap or otherwise specifically discouraged?