टीसीपी डेटा की निरंतर स्ट्रीम प्रदान करता है। टीसीपी पैकेट का उपयोग कर लागू किया गया है लेकिन टीसीपी का पूरा बिंदु उन्हें छिपाना है।
इस बारे में सोचें जैसे कि यह एक दीवार थी जिस पर आप आकर्षित करना चाहते हैं। दीवार ईंटों से बना है। ईंटों को मोर्टार के साथ एक साथ चिपकाया जाता है, और प्लास्टर लागू होता है कि दीवार की सतह चिकनी हो जाती है। ईंटें आईपी पैकेट हैं, टीसीपी प्लास्टर है।
तो अब आप अपने चिकनी मदहोश टीसीपी सुरंग है, और आप इसमें कुछ संरचना जोड़ना चाहते हैं। आप बक्से खींचना चाहते हैं, ताकि आपके चित्र एक दूसरे से अलग रखा जा सके। यह वही है जो आप करना चाहते हैं: अपने डेटा में कुछ "प्रशासनिक" संरचना (चित्रों के चारों ओर बक्से) जोड़ने के लिए।
कई प्रोटोकॉल एक packet
है, जो एक निश्चित प्रारूप प्रशासनिक हैडर के साथ शुरुआत डेटा का एक समूह है की अवधारणा का उपयोग करें। पैकेट समाप्त होने का निर्णय लेने के लिए शीर्षलेख में पर्याप्त जानकारी होती है; उदाहरण के लिए, इसमें पैकेट की लंबाई शामिल है। एचटीटीपी Content-Length
हेडर, या (HTTP/1.1 के साथ) "खंडित स्थानांतरण एन्कोडिंग" के साथ करता है जहां डेटा एक या कई मिनी-पैकेट में विभाजित होता है, प्रत्येक में एक सरल हेडर होता है जिसमें बिल्कुल मिनी-पैकेट-लंबाई संकेत होता है ।
एक और तरीका है एक विशेष टर्मिनेटर अनुक्रम जो "सामान्य डेटा" में प्रकट नहीं कर सकते है। यदि आपका डेटा टेक्स्ट है, तो आप टर्मिनेटर के रूप में मान शून्य के बाइट का उपयोग कर सकते हैं।
फिर भी एक और तरीका स्वयं-समाप्त डेटा का उपयोग करना है। यह डेटा इस तरह से संरचित है कि आप किसी भी बिंदु पर जान सकते हैं कि तत्व का अंत तक पहुंच गया है या नहीं। उदाहरण के लिए, एक्सएमएल डेटा मार्करों के नेस्टेड जोड़े जैसे <foo>...</foo>
के रूप में व्यवस्थित किया जाता है। जब अंत मार्कर (</foo>
) पहुंच जाता है, तो आप जानते हैं कि तत्व समाप्त हो गया है।
स्रोत
2010-03-05 21:46:10
मुझे लगता है कि यह टीसीपी पैकेट नहीं है जिसके बारे में आप चिंतित हैं, यह टीसीपी स्ट्रीम के भीतर एप्लिकेशन-स्तरीय संदेश है, है ना? –