मुझे समझ में नहीं आता कि पिंग अंतराल पिंग टाइमआउट से अधिक क्यों होना चाहिए। वेबसोकेट कोड में यहां मिला, यह को परिभाषित करता है

ping_interval: 0 पर सेट होने पर प्रत्येक निर्दिष्ट अवधि (सेकंड) में स्वचालित रूप से "पिंग" कमांड भेजें, स्वचालित रूप से नहीं भेजें।

पिंग_टाइमआउट: टाइमआउट (सेकंड) यदि पोंग संदेश प्राप्त नहीं होता है।

लेकिन कोड कहता है:

if ping_timeout and ping_interval and ping_interval <= ping_timeout:
    raise WebSocketException("Ensure ping_interval > ping_timeout")

यदि ping_interval, ping_timeout से बड़ा है, तो क्या इससे कनेक्शन स्थायी रूप से समाप्त नहीं हो जाएगा?

मान लें कि ping_interval, ping_timeout से बड़ा है, तो जब तक मुझे ping_timeout के भीतर सर्वर से कोई प्रतिक्रिया मिलती है, यह ठीक है। हालांकि, ping_interval के लिए ping_timeout से बड़ा होना आवश्यक क्यों है?

1
MoneyBall 16 जिंदा 2020, 09:05

1 उत्तर

सबसे बढ़िया उत्तर

मुझे उम्मीद है कि ऐसा इसलिए है क्योंकि पिछले एक को जवाब मिलने या समय समाप्त होने से पहले "पिंग" को बाहर भेजे जाने की उम्मीद नहीं है।

उदाहरण के लिए आप t समय पर एक पिंग भेजते हैं, और उत्तर के लिए t+ping_timeout की प्रतीक्षा करते हैं। अगर ping_interval <= ping_timeout, तो आपको t+ping_timeout से पहले t+ping_interval पर दूसरा पिंग भेजना होगा, और समानांतर में कई पिंग प्रबंधित करना होगा।

1
petre 16 जिंदा 2020, 06:45