الحصول على IP العميل من برنامج Ruby Script من خلال Xinetd
سؤال
كيف يمكنني الحصول على عنوان IP للعميل من داخل برنامج نصي Ruby الذي تم إطلاقه بواسطة Xinetd من خلال مقبس دفق؟ في PHP سأستخدم فقط stream_socket_get_name(STDIN, true);
شكرا مقدما!
المحلول
بعد البحث كثيرًا عن الحل ، وحتى محاولة السؤال على قناة #Ruby على Freenode وتجاهلها تمامًا ، وجدت أخيرًا الحل:
def to_ip(addr)
(4...8).map{|x|addr[x]}.join('.')
end
socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)
أمل أن هذا يساعد شخصاما!
لا تنتمي إلى StackOverflow