http://cboard.cprogramming.com/networking-device-communication/98174-c-program-client-server.html