2013-08-15 7 views
10

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

तो एक कस्टम प्रोटोकॉल कैसे कार्यान्वित करेगा? क्या यह सब कुछ निश्चित है what आदेश भेजे जा सकते हैं और how रिसीवर विभिन्न आदेशों पर प्रतिक्रिया करता है? मान लें कि मैं xml के साथ कुछ कस्टम कमांड को परिभाषित कर रहा हूं, उन्हें टीसीपी का उपयोग करके तार/हवा पर भेजना, और वहां कुछ तर्क है जो भेजे गए आदेश और उत्तरों पर प्रतिक्रिया करता है। क्या यह एक तरीका है जिसे कोई "प्रोटोकॉल" लागू कर सकता है? क्या इसे "प्रोटोकॉल" भी कहा जाता है?

दयालु संबंध।

+1

हाँ, वह एक "प्रोटोकॉल" है। उदाहरण के लिए कुछ क्लासिक टीसीपी/आईपी प्रोटोकॉल के लिए मूल दस्तावेज़ीकरण पर नज़र डालें। [आरएफसी 821] (http://tools.ietf.org/html/rfc821) एसएमटीपी के लिए एक अच्छा उदाहरण है। –

उत्तर

13

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

यह ज्यादातर कमांड और पेलोड को परिभाषित करने के बारे में है। आपको टीसीपी के माध्यम से रखने से पहले अपने कमांड पैकेट को क्रमबद्ध करना होगा। एंडियननेस एक आम गड़बड़ी है यदि आप पैकेट को बाइनरी प्रारूप में पैक करते हैं। एक्सएमएल और जेएसओएन आम टेक्स्ट-आधारित डेटा एक्सचेंज प्रारूप हैं। व्यक्तिगत रूप से मैं प्रो-जेएसओएन हूं।

बाइनरी क्रमिकरण के लिए BSON, MessagePack या protobuf देखें। वे टाइप डेटा बाइनरी में पैक करते हैं ताकि उनके पास पाठ आधारित क्रमिकरण और आकार में अधिक कॉम्पैक्ट की तुलना में बेहतर प्रकार की जांच हो। वे एंडियन रूपांतरण, पैकेट वर्जनिंग को भी संभालते हैं और विभिन्न भाषाओं में ड्राइवर/बाइंडिंग प्रदान करते हैं। सर्वर और क्लाइंट विभिन्न भाषाओं में लिखा जा सकता था।

संपादित करें: जोड़ा आरएफसी नमूने

रॉस पैटरसन द्वारा टिप्पणी को देखकर, मैं भी प्रोटोकॉल परिभाषा संदर्भ के लिए आरएफसी पढ़ने की सलाह। RTSP और HTTP टेक्स्ट प्रोटोकॉल हैं, RTP और मीडिया प्रारूप (MPEG4 AV, H-264) बाइनरी प्रोटोकॉल हैं।

संपादित करें:

Demystifying Protocols and Serialization Performance with Todd Montgomery

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