Eric's magic fixes
Still working
Still works after refactoring with getaddrinfo
Still works
Client and server can exchange data