عندما نستخدم TCP للتواصل ، نظرًا لأن TCP موجه نحو الدفق ، نحتاج إلى تحليل الدفق. وهذا هو ، تفريغ ، تحليل الدفق في قطاعات من البيانات التي نحتاجها. هذا الحل هو حل معالجة تنفذه Node.js.
يتم ترميز البيانات التي سيتم إرسالها وفقًا للبروتوكول ، وتتم تقسيم data البيانات إلى جزأين: header + body . يحتوي الرأس على طول ثابت ( 2 بايت ) ، ويصف header طول بيانات body . نظرًا لأن header ثابت طول ، يمكن تحليل محتوى body من خلال header .
بشكل افتراضي header نستخدم مساحة تخزين 2 Byte ، أي الحد الأقصى لطول body Int16 هو 32767 ، أي 16M .

كما هو موضح في الشكل أعلاه ، يمكننا أولاً إخراج الأولين من دفق البيانات ، وقراءة المحتوى 0x00, 0x02 إلى عدد صحيح 2 ، ثم قراءة البتات الثالثة والرابعة body 0x61, 0x62 .
ثَبَّتَ
ابدء
مرجع API
أمثلة
حل مشكلة "حزم ملتصقة" لنقل شبكة TCP (كلاسيكي)
في السيناريوهات الحقيقية ، يتم كتابة العميل بلغات أخرى ، مثل لغة C التي تعمل على متحكم. في هذا الوقت ، يمكنك حزم الرسم التخطيطي الأساسي بنفسك ، كما تظهر القواعد:
data = header(body.length) + bodyمعهد ماساتشوستس للتكنولوجيا