2013-07-16 6 views
7

पर है, तो मेरे पास पाइथन में एक एप्लिकेशन है, लेकिन मैं जानना चाहता हूं कि कंप्यूटर (जो एप्लिकेशन चला रहा है) किसी अन्य दूरस्थ कंप्यूटर से चालू है या नहीं।पायथन - पता लगाएं कि दूरस्थ कंप्यूटर

क्या ऐसा करने का कोई तरीका है? मैं एक काउंटर का उपयोग कर, कुछ प्रकार के जीवित रहने के लिए, यूडीपी पैकेट का उपयोग करने के बारे में सोच रहा था। पूर्व। प्रत्येक 5 मिनट क्लाइंट सर्वर पर एक यूडीपी 'रख-जिंदा' पैकेट भेजता है। अग्रिम में धन्यवाद!

+0

मुझे लगता है कि आपका विचार सही रास्ते पर है, आपने अभी तक क्या प्रयास किया है? –

+2

या तो शीर्षक भ्रामक है या आप यह जानना चाहते हैं कि आपका एप्लिकेशन चल रहा है या नहीं। अगर बाद में किसी भी प्रकार की पिंगिंग करेगी। – Ma3x

+0

मैं w/@ Ma3x से सहमत हूं, इस प्रश्न में वास्तव में डब्ल्यू/पायथन करने के लिए बहुत कुछ नहीं है। – Sabuncu

उत्तर

0

ऐसा लगता है कि आप जो खोज रहे हैं वह नेटवर्क/होस्ट मॉनीटरिंग टूल है, या सिर्फ एक साधारण दिल की धड़कन मॉनिटर है। विनिर्देशों (जैसे मॉनिटर करने के लिए मेजबानों की संख्या) के आधार पर, Nagios, मुनिन या Heartbeat जैसे कुछ मदद कर सकते हैं।

0

हां जाने का रास्ता है। दिल की धड़कन पिंग भेजने की तरह। इसके यूडीपी के बाद से और इसके बाद से केवल एक हेडर संदेश के बाद आप आवृत्ति को 10 सेकंड कहने के लिए कम कर सकते हैं। इससे किसी भी मापनीय सिस्टम परफ गिरावट नहीं होनी चाहिए क्योंकि इसकी केवल 2 प्रणालियों के बारे में हम बात कर रहे हैं।

मुझे लगता है कि, यूडीपी टीसीपी की तुलना में बेहतर हो सकता है। इसका हल्का वजन, बहुत से सिस्टम संसाधनों का उपभोग नहीं करता है और सैद्धांतिक रूप से तेज़ है। पैकेट नुकसान हो सकता है डाउनसाइड होगा। आप कुछ तर्क डालकर उसमें बाधा डाल सकते हैं जैसे 10 पैकेट (10 सेकंड अलग दूरी) लगातार प्राप्त नहीं होते हैं, फिर अन्य सिस्टम को पहुंचने योग्य घोषित करें।

+0

अरे वह मेरा जवाब था :) –

3

सबसे पहले आपको पता होना चाहिए कि कोई कंप्यूटर चालू है या नहीं, यह निर्धारित करने का कोई मानक तरीका नहीं है, और यह भाषा/मंच निर्भर नहीं है। कंप्यूटर किसी भी राज्य को नकली कर सकता है जिसे आप जांचने का प्रयास करते हैं।

लेकिन सामान्य तरीका यह जांचने के लिए कि कोई कंप्यूटर चालू है या नहीं, Ping (आईसीएमपी इको अनुरोध) भेज रहा है। This answer दिखाता है कि पायथन का उपयोग करके पिंग कैसे भेजना है।

17

अपने लक्ष्य को वास्तव में एक विशिष्ट सेवा रिमोट मशीन पर चल रहा है कि क्या परीक्षण करने के लिए है, तो आप अगर नेटवर्क पोर्ट कि इस सेवा पर चलाना चाहिए पहुंचा जा सकता है परीक्षण कर सकते हैं। उदाहरण:

import socket 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
try: 
    s.connect(('hostname', 22)) 
    print "Port 22 reachable" 
except socket.error as e: 
    print "Error on connect: %s" % e 
s.close() 

यदि आप जिस अनुप्रयोग के लिए परीक्षण करना चाहते हैं, उसे चलाने के लिए डिज़ाइन किया गया है। पोर्ट 1337, फिर इस बंदरगाह की जांच करें।

+0

विंडोज मशीन के लिए यह काम नहीं कर रहा है –

संबंधित मुद्दे