สร้างไคลเอนต์ BitTorrent ด้วย Go ตั้งแต่เริ่มต้น
(blog.jse.li)อธิบายการสร้างไคลเอนต์แบบอิงตัวติดตาม (ไม่รวม DHT, magnet เป็นต้น) แบบเป็นขั้นเป็นตอน
-
พาร์สไฟล์
.torrent -
ค้นหาเพียร์
-
พาร์สการตอบกลับจากตัวติดตาม
-
แลกเปลี่ยนเพย์โหลดกับเพียร์ (Concurrency, Pipe Lining เป็นต้น)
4 ความคิดเห็น
ใช้ทอร์เรนต์อยู่เหมือนกันแต่ก็สงสัยมาตลอดว่ามันสร้างกันอย่างไร ขอบคุณสำหรับข้อมูลดีๆ ครับ
พอลองค้นหาดูก็สงสัยว่าทุกวันนี้ยังมีที่ไหนใช้ทอร์เรนต์ในทางที่ไม่ผิดกฎหมายอยู่บ้าง
โอเพนซอร์ส Murder ที่ Twitter เคยใช้สำหรับการกระจายดีพลอยเซิร์ฟเวอร์ ตอนนี้เลิกบำรุงรักษาไปแล้ว
https://github.com/lg/murder
Blizzard เคยใช้โปรโตคอลทอร์เรนต์ในการแจกจ่ายไคลเอนต์ขนาดใหญ่ แต่หลังปี 2015 ก็เลิกใช้ไปแล้วเหมือนกัน
https://us.battle.net/forums/en/bnet/topic/16283439122
อย่างมากตอนนี้ก็คงมี Internet Archive ที่ใช้สำหรับการดาวน์โหลดไฟล์อยู่บ้าง
https://help.archive.org/hc/en-us/…
บางครั้งก็มีประโยชน์อยู่เหมือนกันเวลาหาดิสโทร OS บนลินุกซ์ที่ค่อนข้างเฉพาะกลุ่ม
OS บนลินุกซ์จำนวนไม่น้อยมีตัวเลือกให้ดาวน์โหลดผ่านทอร์เรนต์ได้
และถ้าภายหลังไม่สามารถดาวน์โหลดโดยตรงได้อีกด้วยเหตุผลอย่างเช่นการหยุดพัฒนาของ OS นั้น
ก็ยังสามารถดาวน์โหลดจากผู้ใช้อื่นที่เคยดาวน์โหลดไว้แล้วและยังคง seed อยู่ผ่านทอร์เรนต์ได้ครับ
มีบิตทอร์เรนต์แบบฟูลไคลเอนต์และไลบรารีที่สร้างด้วย Go อีกหลายตัวนอกเหนือจากนี้
https://github.com/cenkalti/rain
https://github.com/anacrolix/torrent