http://mbed.org/users/mbed_official/code/Socket/#2d471deff212