Use Socket as backend, not Handle