Update on TcpSocket code, due to a bug in SFML we need to handle sending of packets ourselves, else SFML will sometimes send half packets and currupt the datastream.