Torrent Là một giao thức chia sẻ file p2p (mạng ngang hàng). Một file bất kỳ có thể có nhiều người lưu giữ, và bằng 1 cơ chế đề ra trong giao thức, khi có yêu cầu download 1 file nào đó, file đó sẽ được chi nhỏ ra thành nhiều phần (chia nhỏ luận lý - tức là chỉ trên lý thuyết). Mỗi một phần có thể được download tại những máy khác nhau. Trong giao thức này, server không lưu giữ các file cần download, mà do những người dùng tham gia vào mạng lưu giữ. Server chỉ làm nhiệm vụ lưu vết lại những máy nào có chứa file cần download, và chứa những mảnh nào của file (vì có thể máy đó cũng đang thực hiện download cùng file, và trên máy đó chỉ chứa 1 phần đã download được của file). Server đó gọi là tracker server

Giải thích 1 chút về FTKernelAPI:
Hiện thực giùm bạn tất cả các hàm cần thiết để tìm tracker, kết nối, download và lưu trạng thái. Thư viện hỗ trợ nhiều quá trình download đồng thời, hàng đợi download, hỗ trợ resume (thực hiện tiếp theo một quá trình download trước đó bị ngắt quãng (vì tắt máy, thoát chương trình)), disk cache, ...

Đây là sản phẩm nhỏ, chỉ hỗ trợ download (không hỗ trợ tạo file torrent), giúp bạn hiểu rõ qui trình khi sử dụng FTKernelAPI.
Chương trình có thể chạy trên thực tế, bạn có thể download một file mà không cần chạy chương trình liên tục, ví dụ có thể tắt chương trình đi, mà ngày hôm sau download tiếp phần còn tại.


có thể tham khảo thêm tại đây:
http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx