call readpartial and peeraddr on @socket if available to support puma's ...

same solution as https://github.com/ngauthier/tubesock/pull/35 but with setting addrinfo through @socket.peeraddr
I think unless and equals to if not or not. So it will still calls socket.closed? and raise error