سؤال

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

باستخدام NSLOG لقد قررت أن القيمة الفعلية التي أرسلتها صحيحة، ومع ذلك، أظن أن طريقتي لإرسالها عبر دفق الإخراج أمر خاطئ.أيه أفكار؟

التعليمات البرمجية لإرسال قيمة 64bit Int:

giveacodicetagpre.

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

المحلول

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

إليك رمز كليهما:

giveacodicetagpre.

نصائح أخرى

ربما ترى مشكلة نبيذ.المعدل وحدات المعالجة المركزية Intel هي Little-Endian ، مما يعني أن البايت الأقل أهمية في قيمة متعددة البايت يتم تخزينها أولا، والبايت الأكثر أهمية.قراءة رقم 8 بايت من الذاكرة ووضعه على الشبكة دون القيام بأي شيء سيؤدي إلى الخروج بايتات في هذا الترتيب.

يتوقع معظم بروتوكولات الشبكة (بما في ذلك جميع بروتوكولات الإنترنت) بيانات الإناث

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