timeit

Програмиране с Python

Курс във Факултета по Математика и Информатика към СУ

Решение на Изберете си проект от Ивелин Тодоров

Обратно към всички решения

Към профила на Ивелин Тодоров

Код

1
2
До последно се чудих какво да подхвана и в крайна сметка реших да се пробвам да направя fully-functional BitTorrent client с прилично GUI, наподобяващ като функционалност и визия μTorrent. Няма да се впускам в детайли отностно функционалността, защото на всички ни е добре позната, поне основната(към която и ще се стремя като минимум). Познанията ми за networking като цяло са на доста ниско ниво и мисля, че с този проект ще науча изключително много неща. Разглеждах статии и теми за възможните имплементации, подходи и съответните проблеми. Мисля да използвам 3rd-party библиотека за encoding/decoding на .torrent файловете. За връзка с peer-ите мислех да използвам socket-и, но по-скоро ще се възползвам от event-driven loop-а на Twisted. Все още чета за Message passing и кога би бил добър момент да се записва изтегленото съдържание във файл, като ми е малко объркано все още, но ще се оправя някак, защото задачата ми е интересна и се надявам, че ще я докарам донякъде.
Отправна точка ми е самата BitTorrent спецификация -https://wiki.theory.org/BitTorrentSpecification, като детайлите очевидно са много, и мисля, че заедно с GUI-то е достатъчно сложен проект.

История (1 версия и 1 коментар)

Ивелин обнови решението на 30.04.2016 23:27 (преди над 1 година)

1
2
До последно се чудих какво да подхвана и в крайна сметка реших да се пробвам да направя fully-functional BitTorrent client с прилично GUI, наподобяващ като функционалност и визия μTorrent. Няма да се впускам в детайли отностно функционалността, защото на всички ни е добре позната, поне основната(към която и ще се стремя като минимум). Познанията ми за networking като цяло са на доста ниско ниво и мисля, че с този проект ще науча изключително много неща. Разглеждах статии и теми за възможните имплементации, подходи и съответните проблеми. Мисля да използвам 3rd-party библиотека за encoding/decoding на .torrent файловете. За връзка с peer-ите мислех да използвам socket-и, но по-скоро ще се възползвам от event-driven loop-а на Twisted. Все още чета за Message passing и кога би бил добър момент да се записва изтегленото съдържание във файл, като ми е малко объркано все още, но ще се оправя някак, защото задачата ми е интересна и се надявам, че ще я докарам донякъде.
Отправна точка ми е самата BitTorrent спецификация -https://wiki.theory.org/BitTorrentSpecification, като детайлите очевидно са много, и мисля, че заедно с GUI-то е достатъчно сложен проект.

За връзка с peer-ите мислех да използвам socket-и, но по-скоро ще се възползвам от event-driven loop-а на Twisted.

Twisted не е подкаран под Python 3 и не мисля, че е особено добра идея. Идната ни лекция ще бъде за негов заместител в стандартната библиотека на езика.

EDIT: Освен този детайл, идеята ти ми харесва.