Recv fix

When setoption RCVTIMEO is set on the socket, recv may return null (Option.None). This adds a check for this situation