سؤال

وأنا بناء بسيط UDP الشبكة المحلية تطبيق الدردشة في vb.net وأنا أتساءل كيف ينبغي تقسيم الحزم بلدي. يجب أن يكون كل علبة أرسلت مثل الهوية، واسم المستخدم وعنوان IP من حيث انها قادمة وربما أيضا جزءا الأوامر لمثل الانضمام أو ترك لتحديث قائمة المستخدمين بلدي ورسالة نصية. أود أن أعرف ما هو أسهل طريقة لوضع كل ذلك في حزمة بسيطة ثم تقسيم بسهولة والوصول إلى أجزاء مختلفة من ذلك عندما وردت فيه. شكر.

وأنا باستخدام UDP لأن هذا هو فقط في الشبكة المحلية لذلك أنا البث ل*.*.*.255

وتحرير: شكرا لإجابتك جون لكنني أعرف بالفعل كل ذلك. ما أريد أن أعرفه هو ما يمكن أن يكون أفضل طريقة سهلة وقوية لتهيئة الحزم بلدي حتى أنها تتضمن اسم المستخدم، والهوية، وأمر ورسالة نصية، ثم يقوم المستخدم يتلقى هو فك تشفيرها فقط لاظهار رسالة مكتوبة من خلالها المستخدم أو اذا كان أمر مثل الانضمام أو ترك لإظهار الرسالة المناسبة للانضمام وإضافة المستخدم إلى قائمة لexemple.

هل كانت مفيدة؟

المحلول

وأنا ربما مجرد تنسيق الحزمة في أكس، ثم على تلقي استخدام الجانب LINQ إلى XML ان تسحبه بعيدا. يمكنك أيضا استخدام JSON لتنسيق ولكن قد يكون أصعب قليلا لتحليل.

نصائح أخرى

وإنشاء الدرجة المناسبة مع أسلوب مثيل ToByteArray وطريقة FromByteArray() ثابت (للتسلسل إلى صفيف بايت وتحليل من صفيف بايت على التوالي). ثم استخدم UdpClient.Send() لإرساله، و <لأ href = "HTTP : //msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.receive.aspx "يختلط =" نوفولو noreferrer "> UdpClient.Receive() ليتسلمها

.

وأنت قد تحتاج إلى استخدام BinaryReader / BinaryWriter و / أو BitConverter للمساعدة في طرق ToByteArray وFromByteArray. يمكنك استخدام MemoryStream ك دفق في الذاكرة سريع لتمريرها إلى BinaryReader / BinaryWriter.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top