0xack13 / c_bittorrent Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jsingle/c_bittorrent
Basic bittorrent client written in c - class project
This project forked from jsingle/c_bittorrent
Basic bittorrent client written in c - class project
Greg Taschuk & Jordan Singleton gtaschu1 & jsingle1 Lab 5 - Bittorrent http://www.cs.swarthmore.edu/~aviv/classes/f12/cs43/labs/lab5/lab5.pdf ################################# # OVERVIEW ################################# In this lab we implement a bittorrent client(/server) which accepts a number of peers as command line arguments or as incoming connections via the bittorrent handshake protocol. This is N-Peers with Restarts ################################# # IMPLEMENTATION NOTES ################################# We believe the functions are written as you expect that we wrote them. A few notes: - We implemented symmetrically from the start - We poll all file descripters (including the incoming fd) using fd sets. This implementation is very closesly related to the one Beejus gave in his guide to network programming - Logging is done via a log_record function which is a wrapper around vprintf and accepts formatted strings - Supports starting with partial files You can make the bt_client executable via the make command in the root directory Running ./bt_client without aguments will show usage information ################################# # FILES FROM LAB ASSIGNMENT (none added) ################################# Included Files and Purpose bt_client.c : Main file where the control loop lives bt_setup.c : Contains setup code, such as parsing arguments bencode.c : Code for parsing bencoded torrent files bt_lib.c : Code for core functionality of bt bt_setup.h : Header file for setup bencode.h : Header file for bencode bt_lib.h : Header file for bt_lib Suggested Additional Files [and headers] bt_io.c[.h] : File for handing input output bt_sock.c[.h] : File for handling socket and network issues
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.