There is only one correct answer here. OpenSSL. Because once you have socket code, youre going to want to make SSL connections too. If you are already working in a particular cross platform framework, OpenSSL bindings might already be avaialable.
I don't think theres much excuse now to not SSL/TLS enable your application from the get-go.