如何从Xinetd通过流插座启动的Ruby脚本中获取客户端IP地址?在PHP中,我只会使用 stream_socket_get_name(STDIN, true);

提前致谢!

有帮助吗?

解决方案

在搜索了很多解决方案之后,甚至尝试在FreeNode上的#Ruby频道上询问并被完全忽略,我终于找到了解决方案:

def to_ip(addr)
  (4...8).map{|x|addr[x]}.join('.')
end

socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)

希望这对某人有帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top