• 1

كيف أضع مهلة لـ socket في روبي؟

أريد أن أضع مهلة لمنع العمليات في socket في روبي، فما الطريقة الصحيحة لفعل ذلك؟

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


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

إن أبسط خيار وجدته لفعل ذلك هو عن طريق استخدام Timeout::timeout حيث سنمرر لهذا التابع عدد الثواني التي نريد وضعها كمهلة لـ socket في برنامجنا و من ثم نضع داخل كتلة (block) هذا التابع الأوامر التي نريد تنفيذها في هذه المهلة كما يظهر في المثال التالي:

require 'timeout'
    ...
begin
    timeout(5) do
        message, client_address = some_socket.recvfrom(1024)
    end
rescue Timeout::Error
    puts "Timed out!"
end

 

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


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

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

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

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


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

تسجيل الدخول

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


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