Remove useless class (protocol)

Change type of bytes container (vector<uint8_t> instead of an array of unsigned char)

Add an interface Serializable (can be used for all classes, not the protocol only
Remove unused includes
Add Response class

- The response class contains a position and a speed. The server sends a response to a client

- Add missing newline at the end of files

- Use public inheritance in the class Action
Add example (connection between the client and server using TCP)

+ how to initialize an UDP socket (commented)
Clients can now be registered

A client connects to the server and send his name. If this name is not already taken, the client is registered (added in a list of players)
Add Request/Response classes

- Request : Newplayer and Action

- Response : Error, Newplayer (ok) and GameState (after processing position, speed...)
Fix bug: blocking call to receive()

Response/Request static method to get the type (and set constructors as private)

Multiple optimizations
Add response for NewPlayer requests
Fix memory leaks
Fix valgrind warnings

Fix warning "Invalid read of size X" by returning a string instead of a pointer in the function ServerPlayer::toString()
Add UDP sockets
Change serializer function signature

Player have an unique ID

The server broadcast the players list (name + ID) + its UDP port
Map user with port

Using a custom collection to manage players

request + response in UDP
Add TCP manager for client
Add TCP manager for the server
Get the server's UDP port in client

Some refactoring
Add UDP manager for server

Refactoring, add player's ID for request (0 by default)

Reformat all files
Add concurrent queue impl, and thread to receive msg (server)

The thread receive the UDP messages in a different thread. This thread creates a Request using the bytes received and pushes it into a concurrent queue
Threads in client. Clients send request a key is pressed (UP, DOWN, LEFT, RIGHT, SPACE. The server broadcast a response when receiving a msg
Fix a memory leak