what i want is a tool to use to send files my many virtual machines. I want to do this myself, and i want to make it work as expected. So maybe a daemon running in the background on udp obviously that connects to peers and keeps and can share files or other types of media between each other. - i want files sent to be able to keep their state, permissions and all the other stuff should be kept same accross the various. - so basically a daemon running on unixgram that handles sending the files and connecting to the other peers and all that. it accepts requests from - a single computer can have as many peers as possible right. - port to run is 60009 - 0xffff Uniquely identifying requests ------------------------------ - adding a hash to the packets can help to identify them all. so the request wrapper will have a way to embed the hash of the packet in the packet. responses to the request will have to include the hash of the request in their packets to uniquely identify them. - what if the ping request is used to initiate handshakes between peers and exchange information that peers persist in their databases or something. didn't realise p2p networking is this hard. Requests and Packet Types --------------------------- 1. Checking if a peer is active to find out if a peer is active, you send a ping request and it responds with a peerinfo packet - Request Packet - Ping - Response Packet - PeerInfo