2010-03-05 6 views
6

मेरे एमएफसी/सी ++ अप्रबंधित समय-सीमित सॉफ़्टवेयर की ज़रूरतों के लिए, मैं इंटरनेट से जीएमटी/यूटीसी टाइम-स्टैंप प्राप्त करना चाहता हूं (पीसी घड़ी के समय पर भरोसा करने के बजाय जिसे आसानी से बदला जा सकता है)।इंटरनेट से समय पुनर्प्राप्त करें (पीसी घड़ी को छोड़कर)?

मैं पहले से ही है, हालांकि http://www.timeanddate.com/worldclock/ से लाइन "वर्तमान यूटीसी" पार्स करने ... लाइन के बारे में (मुझे लगता है कि पोर्ट 80 अधिक दूसरों की तुलना में खुला होने की संभावना है), लेकिन मैं नहीं जानता कि कैसे विश्वसनीय इस URL ...

है

कृपया मेरे साथ अपने पेशेवर/विपक्ष या विभिन्न विचार साझा करें।

धन्यवाद।

+0

क्या होगा यदि व्यक्ति अपने ऐप के लिए अपने सॉफ़्टवेयर फ़ायरवॉल के साथ इंटरनेट तक पहुंच को अवरुद्ध करता है? – Joe

+2

और हैकर समय के साथ सेवा अनुकरण करने के लिए सॉफ़्टवेयर लिख सकता है – Andrey

+2

हाँ, मेरे नियंत्रण में सर्वर पर timeanddate.com पर अनुरोधों को पुनर्निर्देशित करने के लिए/etc/hosts में एक साधारण प्रविष्टि, जिसे मैं वापस लौटने के लिए कॉन्फ़िगर करता हूं, जब भी मैं पीसी घड़ी बदलता सेवा मेरे। काम हो गया। –

उत्तर

3

व्यवहार्य दिखता है और यह व्यापक रूप से किया जाता है।

साइट एंड्रॉइड बदलने का फैसला करती है, तो timeanddate.com का स्क्रैप तोड़ सकता है। एचटीएमएल में भी मामूली बदलाव आपके स्क्रैपर को तोड़ सकता है।

मैं सुझाव दूंगा कि आप earthtools जैसी वेब सेवा का उपयोग करें। आपको यूआरएल में आवश्यक तर्क (अक्षांश और देशांतर आदि) पारित करना होगा और प्रतिक्रिया एक्सएमएल है जिसे आप आसानी से पार्स कर सकते हैं।

+0

यह बहुत अच्छा है! मुझे धरती के बारे में पता नहीं था। चूंकि मैं यूटीसी की तलाश में हूं तो मेरे लिए लंबे/लेट के लिए 0,0 देना पर्याप्त होगा और एक्सएमएल का पार्सिंग आसान है। लेकिन यह सेवा कितनी विश्वसनीय है? मुझे कैसे पता चलेगा कि यह यूआरएल थोड़ी देर में नहीं टूट जाएगा? – AVIDeveloper

+0

(*) यह कहता है कि मुझे अपना वोट बढ़ाने के लिए 15 प्रतिष्ठा अंक चाहिए .. इसलिए मैं कर सकता था .. धन्यवाद। – AVIDeveloper

+0

ऐसा लगता है कि धरती पर इस धरती पर स्थानांतरित हो गया है http://new.earthtools.org/webservices.htm –

7

इंटरनेट परमाणु घड़ी से समय प्राप्त करने के लिए एक एसएनटीपी (सरल नेटवर्क टाइम प्रोटोकॉल) का उपयोग करें।

वेब पर कुछ पुस्तकालय उपलब्ध हैं - here's one for MFC on codeproject

+0

धन्यवाद, मुझे एसएनटीपी के बारे में पता है, लेकिन मैंने सोचा कि बंदरगाह 80 पोर्ट 123 की तुलना में कम अवरुद्ध होगा। यही कारण है कि मैंने पोर्ट 80 समाधान का लक्ष्य रखा था। वैसे भी, मैं इसे एक कोशिश दूंगा। धन्यवाद। – AVIDeveloper

1

इसे बचाने के लिए समय बर्बाद करने के बजाय अपने कार्यक्रम को बेहतर बनाएं। ऐसी कोई भी सुरक्षा जो आप कर सकते हैं उसे आसानी से घुमाया जाएगा। यदि आप जोर देते हैं, तो आप अपने सर्वर पर सॉफ़्टवेयर चला सकते हैं, क्योंकि वास्तव में ऐसी सीमाओं को लागू करने का यह एकमात्र तरीका है।

+0

धन्यवाद, लेकिन मैं इसे सर्वर पर नहीं चला सकता। – AVIDeveloper

+1

क्या होगा यदि यह सुरक्षा के लिए नहीं है? क्या होगा यदि कोई डिवाइस (पूर्व: रास्पबेरी पीआई) के लिए प्रोग्राम बनाना चाहता है जिसमें आंतरिक घड़ी नहीं है, लेकिन इसमें इंटरनेट का उपयोग है। हाँ मुझे यह मिलता है कि यह मामला नहीं है .. लेकिन हमें दूसरी तरफ भी सोचना चाहिए – akaltar

0

हमम। दिलचस्प। आप मूल रूप से इंटरनेट का उपयोग डोंगल के रूप में करने की कोशिश कर रहे हैं।

आप वास्तव में अपने सॉफ्टवेयर पर "संरक्षण" इस तरह की जरूरत है, तो आप शायद उस में एक वास्तविक समय घड़ी के साथ एक सच्चे डोंगल रही, HASP तरह विचार करना चाहिए। बेशक या तो एक विघटनकर्ता के साथ एक सभ्य हैकर के लिए घूमने के लिए सोल्यूशन छोटा हो जाएगा।

आम तौर पर मुझे लगता है कि आपके सॉफ़्टवेयर को खोलना बेहतर है और फिक्स, मोड और समर्थन से दूर रहने का प्रयास करना बेहतर है।

+0

धन्यवाद, लेकिन एक डोंगल एक ओवरकिल है। मैं कुछ डेटा संरक्षित करना चाहता हूं, मैं इसे जितना चाहूं उतना सुरक्षित रखना चाहता हूं, लेकिन अगर मैं इसे नहीं बनाऊंगा तो यह आपदा नहीं होगी। मैं अपने प्रोग्रामिंग क्षितिज का विस्तार करने के लिए ऐसा करने की कोशिश कर रहा हूं। – AVIDeveloper

1

अच्छा, निष्कर्ष निकालने के लिए: मेरे ऐप में एक ऑफ़लाइन डेटाबेस है जो इंट्रानेट से दिन में एक बार अपडेट किया जाता है।
यदि मैं एक हफ्ते में अपडेट नहीं किया गया था, तो मैं इस डेटाबेस को श्रेय देना चाहता हूं और इसलिए मैं पीसी घड़ी को पीछे की ओर बदलने की संभावना को कम करने और कम करना चाहता हूं।
मैं इस तथ्य से पूरी तरह से अवगत हूं कि ऐसे पावर उपयोगकर्ता हैं जो मेरे ऐप को 20 अलग-अलग तरीकों से इंटरनेट समय प्राप्त करने से रोक सकते हैं, लेकिन मैं सॉफ्टवेयर में सबसे अच्छा कर सकता हूं (हार्डवेयर समाधान, जैसे डोंगल, मेरे लिए एक overkill है)।

चूंकि मैं पोर्ट 80 समाधान चाहता हूं, इसलिए मैं कोडडिक्ट के समाधान (धरती के टोल) को अपनाना चाहूंगा और अन्यथा पीसी घड़ी का नमूना दूंगा।

सभी उत्तरों के लिए धन्यवाद! आपको एक अनुरोध भेजना उनके API का उपयोग करना https://services.timeanddate.com/api/packages/time.html और एक XML या JSON प्राप्त करते हैं:

0

उत्तर आपके प्रश्न के भीतर देता है ... https://www.timeanddate.com/ पर जाएँ और "एपीआई" के लिए देखो, तो आप इस पेज मिलेगा: https://www.timeanddate.com/services/api/ विस्तृत निर्देश प्रतिक्रिया।यह आपको $ 150 प्रति वर्ष खर्च करता है लेकिन यह करने का पेशेवर तरीका है और आपके उद्देश्य से यह आपके सॉफ़्टवेयर के लिए पैसे लेना समझ में आता है।

+0

जब भी आप एक सशुल्क समाधान की अनुशंसा करते हैं, तो आपको यह खुलासा करना होगा कि क्या आपके पास उस उत्पाद के साथ कोई संबद्धता है या नहीं। –

+0

मैंने उन्हें इंटरनेट पर पाया, इसलिए जवाब नहीं है। मैं नहीं हूँ। मैंने अभी तक कोशिश नहीं की है और हम कोशिश करने की योजना बना रहे हैं। –

+0

मैंने कहीं भी लिखा नहीं है कि मैं अपने सॉफ़्टवेयर के लिए पैसे चार्ज करने की योजना बना रहा हूं, और मैं किसी तृतीय पक्ष समाधान की खोज में प्रश्न पोस्ट नहीं करता हूं। प्रश्न धागे पर आपके द्वारा लिखे गए उत्तर बहुत बेहतर थे और बिंदु पर (यह नहीं कि सॉफ़्टवेयर अब मौजूद है)। – AVIDeveloper