咳です。

    W> なんとなく getaddrinfo() がちゃんと動いてない気がします.
    W> sa_len がらみかな?
    W>   % ruby -r socket -e 'p Socket.getaddrinfo(nil, 0)'
    W> が
    W>   [["AF_INET", 0, "localhost", "127.0.0.1", 2, 2, 17]]
    W> のような結果になりますか?

% public/1.4/bin/ruby -r socket -e 'p Socket.getaddrinfo(nil, 0)'
が
[["AF_INET", 0, "0.68.167.20", "0.68.167.20", 2, 1, 17]]
でした。

やっぱり getaddrinfo() ??