क्या एक बेहतर समाधान , तथ्य यह है कि मैं नए डेटा हर दूसरे की जरूरत को देखकर ग्राहक से खींच या सर्वर के साथ धक्का होगा?
मुझे नहीं लगता कि इससे कोई फर्क नहीं पड़ता, अनुरोध के बीच का समय और समय के साथ नया डेटा उपलब्ध होगा। पिछले एक सफल होने के बाद मैं क्लाइंट पर एक नया XMLHttpRequest को तुरंत चालू कर दूंगा। आप सर्वर को अंतिम प्राप्त डेटा भेज सकते हैं (यदि बहुत बड़ा नहीं है) तो यह सर्वर पर उपलब्ध मौजूदा डेटा के साथ उस डेटा की तुलना कर सकता है और केवल नया डेटा उपलब्ध होने पर कुछ वापस भेज सकता है।
आइटम आईडी के कि सर्वर साइड (चर का कि आईडी मिल गया के साथ) पर हैं बदल सकते हैं और जब ग्राहक पेज ताज़ा करता है वह सबसे पुरानी (और रहने वाले) पहचान पत्र प्राप्त करने के लिए की जरूरत है। यह का अर्थ है कि क्लाइंट पक्ष पर मेरी jquery/जावास्क्रिप्ट को पता होना चाहिए कि वह कौन सा आईडी पृष्ठ पर मिला है, का सबसे अच्छा तरीका क्या है?
मुझे पूरा यकीन नहीं है कि मैं समझता हूं कि आपका क्या मतलब है, लेकिन यदि मैं सही हूं तो आप किसी ऑब्जेक्ट में प्रत्येक नाम/मूल्य जोड़ी को स्टोर कर सकते हैं। जब क्लाइंट पर कोई नया चर आता है, तो यह मौजूदा डेटा को ओवरराइट नहीं करता है; जब एक निश्चित चर पहले से मौजूद है, तो यह नवीनतम मान के साथ अद्यतन किया जाता है।
{ first_variable: 345,
second_one: "foo",
and_the_third: ["I", "am", "an", "array,", "hooray!"]
}
और second_one
के एक नए राज्य आने पर, उदाहरण के लिए: यह दिखाई दे सकता है "bar"
, वस्तु के लिए अद्यतन किया जाता है:
{ first_variable: 345,
second_one: "bar",
and_the_third: ["I", "am", "an", "array,", "hooray!"]
}
अंतिम बात यह है कि मैं एक अच्छा (महंगा करने के लिए नहीं) धूमकेतु पुस्तकालय/asp.net के लिए एपीआई (सी #) नहीं मिल सकता है। किसी ने कभी भी अच्छे परिणाम के साथ धूमकेतु लाइब्रेरी का उपयोग किया है?
मैं ASP.NET के साथ किसी भी अनुभव की जरूरत नहीं है, लेकिन आप इस के लिए इस तरह के एक पुस्तकालय की आवश्यकता है? क्या आप केवल सर्वर-साइड कोड प्रोग्राम नहीं कर सकते हैं, जैसा कि मैंने कहा था, कनेक्शन को खुले और समय-समय पर (लगातार) पिछले राज्य की तुलना में वर्तमान स्थिति की तुलना करता है?
अद्यतन: यह एक कनेक्शन सर्वर साइड पर खुला रखने के लिए है कि मुश्किल नहीं है दिखाने के लिए, मैं तुम्हें एक लंबे समय से मतदान सिमुलेशन मैं PHP में लिखा दिखाएंगे:
<?php
sleep(5);
?>
<b>OK!</b>
इसके बजाय प्रक्रिया को sleep
कुछ सेकंड देने की अनुमति देने के लिए, आप लूप में राज्य के परिवर्तनों के लिए आसानी से परीक्षण कर सकते हैं। और मनमाने ढंग से HTML तत्व भेजने की बजाय, आप डेटा वापस भेज सकते हैं, उदा। JSON नोटेशन में। मैं कल्पना नहीं कर सकता कि एएसपी.NET/C# में ऐसा करना मुश्किल होगा।
मुझे आपके द्वारा उल्लेख की गई अंतिम चीज़ पर कुछ अच्छे ट्यूटोरियल मिलते हैं, कनेक्शन खोलने के लिए http अनुरोध प्राप्त करें। अब समस्या यह है कि मुझे नहीं पता कि यह कितना तेज़ होगा यदि मैं खुद को हर हिस्से लिखता हूं। मैं इसे बाद में आज भी कोशिश करने जा रहा हूं लेकिन इसमें काफी समय लग सकता है। इसके अलावा मुझे 4 मानक div की तरह मिल गई है जो पेज लोड होने पर आईडी प्राप्त करनी चाहिए। इसके बाद यह हर सेकेंड में अपडेट होता है, यह div की आईडी को देखता है और वहां सही मान डालता है। यह उन पैनी नीलामी की तरह है जो आप आजकल देखते हैं। वैसे भी आपकी प्रतिक्रिया के लिए धन्यवाद! उम्मीद है कि अधिक लोग प्रतिक्रिया करते हैं। – Julian
@ जुलीयन - मुझे अभी भी यकीन नहीं है कि मैं आपको सही ढंग से समझता हूं। जावास्क्रिप्ट में डोम को मैनिपुलेट करना आजकल बहुत आसान है। यदि आवश्यक हो तो आप हमेशा नए प्रश्न पूछ सकते हैं, लेकिन एसओ पर यहां कई प्रश्न मौजूद हैं। और मैं अपने देश में पैसा नीलामी में भाग नहीं लेता हूं। ;) –
हाँ, शायद यह सिर्फ मुझे है। मैं आमतौर पर एक सी # Winform डेवलपर हूं और वास्तव में अभी तक एचटीएमएल/जावास्क्रिप्ट सामान में नहीं है। लेकिन हमें जिस एप्लिकेशन को बनाने की जरूरत है वह एक पैसा नीलामी की तरह नहीं है, लेकिन आप हर सेकेंड के समान प्रकार के अपडेट के बारे में सोच सकते हैं। – Julian