मैं इस सवाल का जवाब यह टीसीपी keepalive सेटिंग्स पर निर्भर करता पाया):
sysctl -A | grep net.inet.tcp
net.inet.tcp.keepidle
- समय की राशि, मिलीसेकेंड में, (टीसीपी) कनेक्शन keepalive जनसंपर्क के पहले निष्क्रिय होना चाहिए कि मोटा (यदि सक्षम है) भेजा जाता है।
net.inet.tcp.keepintvl
- अंतराल, मिलीसेकेंड में, दूरस्थ मशीन के लिए भेजा keepalive जांच के बीच। TCPTV_KEEPCNT (डिफ़ॉल्ट 8) जांच के बाद, कोई प्रतिक्रिया नहीं के बाद, (टीसीपी) कनेक्शन गिरा दिया जाता है।
net.inet.tcp.always_keepalive
- मान लें कि SO_KEEPALIVE सभी टीसीपी कनेक्शन पर सेट है, कर्नेल समय-समय पर कनेक्शन को सत्यापित करने के लिए रिमोट होस्ट को एक पैकेट भेज देगा।
इसलिए सूत्र अधिकतम टीसीपी निष्क्रिय कनेक्शन समय की गणना करने पीछा कर रहा है:
net.inet.tcp.keepidle + (net.inet.tcp.keepintvl x 8)
परिणाम मिलीसेकेंड में है। इसलिए, द्वारा
net.inet.tcp.keepidle = 10000 net.inet.tcp.keepintvl = 5000 net.inet.tcp.always_keepalive = 1 (must be 1 always)
प्रणाली स्थापित करने के लिए एक कॉल डिस्कनेक्ट हो जाएगा TCP कनेक्शन के लिए मर चुका है जब: 10000 + (5000 x 8) = 50000
msec (50 सेकंड)।स्टार्टअप पर सिस्टम को इन सेटिंग्स को याद रखने के लिए, आपको उन्हें /etc/sysctl.conf
फ़ाइल
स्रोत
2012-05-22 15:21:25
क्या यह सर्वर पक्ष पर लागू किया जाना है? – netvope
मैं अभी तक इसे करने की कोशिश नहीं की है, लेकिन मुझे लगता है हाँ, सर्वर साइड: [टीसीपी KeepAlive] (http://jampad.net/Library/tcpipprot/ch17.html): तो उपयोगकर्ता थे स्थापित करने के लिए कनेक्शन, कुछ काम करें, फिर दिन के अंत में कंप्यूटर को बंद कर दें, लॉग ऑफ किए बिना, आधा खुला कनेक्शन छोड़ा जाएगा। यदि क्लाइंट गायब हो जाता है, तो सर्वर के अंत में आधे खुले कनेक्शन को छोड़कर, और सर्वर क्लाइंट से कुछ डेटा की प्रतीक्षा कर रहा है, सर्वर हमेशा के लिए इंतजार करेगा। रखरखाव सुविधा का उद्देश्य सर्वर पक्ष से इन अर्ध-खुले कनेक्शन का पता लगाने के लिए है। –
क्या मेरी नींद प्रणाली के लिए प्रॉक्सी होना संभव है जो सर्वर पर पैकेट भेजना जारी रख सकता है? इस तरह सोते समय भी सत्र को जीवित रखा जा सकता था। – sudeepdino008