This is an implementation of a peer-to-peer system where the clients can share files with the help of a tracker.
- libsqlite3-dev: sudo apt-get install libsqlite3-dev
- Sun RPC: sudo apt-get install rpcbind
- Java 8 and JDK
- gcc
- make
Clone the repository
git clone https://github.com/adrihacar/p2p-system.git
Run make to compile the project
cd .p2p-system
make
Init the tracker specifying the port that it will listen on
./server -p 1234
Run the publusher and and as many clients as you want specifiying the domain or IP address of the tracker and the port
java -cp jaxws-ri/lib/*:. upper/UpperPublisher
java -cp jaxws-ri/lib/*:. Client -s <tracker ip/domain> -p <port>
Once at the Client shell you should see a prompt C>. There you can type the commands: CONNECT, DISCONNECT, GET_FILE, REGISTER, UNREGISTER, PUBLISH, DELETE, LIST_USERS, LIST_CONTENT, QUIT
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL-3.0 License. See LICENSE
for more information.
Adrián Hacar Sobrino - [@adrihacar](https://twitter.com/adrihacar