• 0

كيف أحصل على اسم المضيف وip في ريلز؟

أبحث عن أسهل وأسرع طريقة للحصول على اسم المضيف (Hostname) ورقم IP للجهاز الذي أستخدمه، فكيف أفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

أسهل طريقة للحصول على اسم المضيف (Hostname) هي عن طريق استخدام الدالة gethostname من مكتبة socket حيث نعيّن النتيجة إلى متغير آخر كما في هذا المثال:

require 'socket'
hostname = Socket.gethostname

أما بالنسبة للحصول على عناوين IP، فإذا كنت تستخدم روبي 1.9 فيمكنك استخدام مكتبة socket أيضًا للحصول على قائمة من العناوين المحلية، فالدالة ip_address_list تُرجع مصفوفة من كائنات AddrInfo والتي يمكنك اختيار ما تريده منها من العناوين بناءا على ما الذي تريد أن تفعله  وعلى عدد الواجهات (interfaces) التي تملكها.
مثال بسيط سوف نختار فيه أول عنوان non-loopback IPV4 وستكون النتيجة عبارة عن سلسلة نصية:

require 'socket'
ip_address = Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن