Used to send file # Sending files ## Messages Messages are 508 bytes in size. This is because that is the biggest message you can send over udp without getting dropped. The first 8 bytes or 64 bits in the message are used for telling what message this is. The counting starts at 0. The rest is content of the file ## Hole punch A hole punch is a way for clients to communicate without requireing a port-forward. [Here](https://en.wikipedia.org/wiki/UDP_hole_punching) is a wikipedia article about it. But it works like this 1. Client A sends a udp message to client B:s ip-address and port. 2. Client B does the same as client A but with client A:s ip-address and port. 3. Now they are able to send messages over udp from where they have hole-punched to. ## Sending It sends the file by sending many messages. When it's done it will send a message. If any messages got dropped the reciever will send a list of those. If the file was recieved correctly the reciever will send a message.