بنابراین من قرار است سرور UDP ایجاد کنم که قرار است چک های بسته های ارسال شده را تأیید کند ، و سپس خرابی ها را ثبت کند.

بسته ها دارای ساختار زیر هستند:

  • 4 بایت – شناسه بسته
  • 4 بایت – توالی بسته (شماره چک شده پردازش شده)
  • 2 بایت – چند بایت تکرار XOR Key
  • 2 بایت – # از Checksums
  • متغیر – تکرار XOR'd Cyclic Checksum CRC32 DWORDS

من قرار است این بسته ها را با یک پرونده jpg تأیید کنم.

هنگام ورود به سیستم در چک های ناموفق ، باید این قالب را دنبال کنید:

  • ID Packet [19659004] دنباله شماره بسته
  • Cyclic Checksum Iteration
  • دریافت CRC32
  • CRC32 پیش بینی شده

CRC32 پیش بینی شده

من تازه کار در این مورد هستم ، و در مورد نحوه استفاده از بایت های مختلف موجود در بسته بسیار گیج می شوم. تصویر jpg ، و همچنین نحوه محاسبه Iteration Cyclic Checksum Iteration ، دریافت CRC32 و CRC32 پیش بینی شده برای پرونده log. من می دانم که checksum برای بررسی اینکه آیا یک بسته در زمان دریافت اصلاح شده است ، استفاده می شود و از یک سری XOR با یک کلید خاص برای ایجاد باقی مانده چک استفاده می کند ، اما این در مورد آن است ، و نتوانستید منابع مفیدی را در مورد موضوع پیدا کنید.

از هر کمکی قدردانی می شود!