当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Socket.gethostbyaddr用法及代码示例


本文简要介绍ruby语言中 Socket.gethostbyaddr 的用法。

用法

gethostbyaddr(address_string [, address_family]) → hostent

请改用 Addrinfo#getnameinfo 。不推荐使用此方法,原因如下:

  • 不常见的地址表示:4/16 字节的二进制字符串来表示 IPv4/IPv6 地址。

  • gethostbyaddr() 可能需要很长时间,并且可能会阻塞其他线程。 (GVL 无法释放,因为gethostbyname() 不是线程安全的。)

  • 此方法使用已从 POSIX 中删除的 gethostbyname() 函数。

此方法获取 address 的主机信息。

p Socket.gethostbyaddr([221,186,184,68].pack("CCCC"))
#=> ["carbon.ruby-lang.org", [], 2, "\xDD\xBA\xB8D"]

p Socket.gethostbyaddr([127,0,0,1].pack("CCCC"))
["localhost", [], 2, "\x7F\x00\x00\x01"]
p Socket.gethostbyaddr(([0]*15+[1]).pack("C"*16))
#=> ["localhost", ["ip6-localhost", "ip6-loopback"], 10,
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"]

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Socket.gethostbyaddr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。