For a new assignment for my students I decided to show them they could build a simple P2P software. So I prepared a simple P2P protocol specification and a sample implementation. The whole system was design with the idea that students might run several peers on a single computer (for testing purposes). Effort was put on making it simple to understand and to implement (and to test), there are many improvements possible that will boost performance but those were rejected in favor a simple system.
I did search on the net for a simplistic P2P but I did not find that so I wrote this. I like to hear from other simple P2P protocols you may know.