الحصول على IP العميل من برنامج Ruby Script من خلال Xinetd

StackOverflow https://stackoverflow.com/questions/3587051

  •  01-10-2019
  •  | 
  •  

سؤال

كيف يمكنني الحصول على عنوان 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)

أمل أن هذا يساعد شخصاما!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top