2008-12-19 9 views
9

के लिए सॉकेट आधारित कस्टम ट्रांसपोर्ट कैसे लिखें I have a mobile platform है कि मैं कुछ संचार कोड लिखने की कोशिश कर रहा हूं।डब्ल्यूसीएफ

प्लेटफार्म मानक सॉकेट फ़ंक्शंस पर आधारित एक मालिकाना संचार तंत्र प्रदान करता है। असल में, प्लेटफ़ॉर्म का सॉकेट एपीआई मानक विंडोज सॉकेट एपीआई के समान दिखता है, प्रत्येक फंक्शन पर उपसर्ग के अलावा।

मैं अपने उपभोग अनुप्रयोगों से सॉकेट्स एपीआई की जटिलताओं को अमूर्त करने के लिए डब्ल्यूसीएफ का उपयोग करना चाहता हूं, लेकिन संसाधनों को खोजने में कठिनाई हो रही है जो उन सभी टुकड़ों का पर्याप्त रूप से वर्णन करते हैं जिन्हें कोडित करने की आवश्यकता होगी।

क्या कोई भी अच्छी शुरुआत करने की जगह सुझा सकता है, या डब्ल्यूसीएफ के लिए कस्टम सॉकेट आधारित परिवहन लिखने के लिए क्या आवश्यक होगा इसका विवरण प्रदान कर सकता है? आदर्श रूप से, मैं इस परिवहन तंत्र पर एचटीपी बाइंडिंग का उपयोग करने में सक्षम होना चाहता हूं।

धन्यवाद!

उत्तर

10

मैंने डब्ल्यूसीएफ परिवहन चैनल लिखने के लिए कुछ resources की एक सूची बनाई जो उपयोगी हो सकती है। दुर्भाग्यवश, सभी लिंक अभी भी सक्रिय नहीं हैं, लेकिन अधिकांश हैं और वहां कुछ उपयोगी चीजें हैं।

मैंने short introduction भी लगाया कि कैसे कुछ टुकड़े एक साथ फिट होते हैं जो थोड़ा सा मदद कर सकता है।

मुझे आपके प्रश्न में काफी कुछ नहीं मिलता है: आप उल्लेख करते हैं कि आप अपने परिवहन के शीर्ष पर एचटीपी बाइंडिंग को चलाने के लिए चाहते हैं। क्या आपका मतलब है कि आप नियमित विंडोज सॉकेट एपीआई के बजाय अपने कस्टम सॉकेट-जैसी एपीआई के शीर्ष पर डब्ल्यूसीएफ http ट्रांसपोर्ट चैनल का उपयोग करना चाहते हैं?

यदि ऐसा है, तो नहीं, यह विभिन्न कारणों से काम नहीं करेगा। उनमें से एक यह है कि बाइंडिंग और चैनल वास्तव में सीधे एक साथ बंधे नहीं हैं, बल्कि बाध्यकारी परिभाषा (यानी जिसमें बाध्यकारी तत्व शामिल हैं) नियंत्रित करता है कि आपके सेवा/क्लाइंट के लिए रनटाइम पर चैनल स्टैक कैसे बनाया जाता है।

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

दूसरे शब्दों में, यदि आप HTTP बोलना चाहते हैं, तो आपको HTTP कस्टम सामग्री को अपने कस्टम चैनल कार्यान्वयन में सेंकना होगा। हालांकि, कुछ भी आपको अपने स्वयं के चैनल के शीर्ष पर डिफ़ॉल्ट डिफ़ॉल्ट/ws http बाइंडिंग का उपयोग करने से रोकता है, बशर्ते आप सही चैनल आकार का पर्दाफाश करें।

+0

बहुत अच्छी पोस्ट और लिंक! लिंक के ऊपर –

+1

लिंक काम नहीं कर रहा है। – vikky