بنابراین من قرار است سرور 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 با یک کلید خاص برای ایجاد باقی مانده چک استفاده می کند ، اما این در مورد آن است ، و نتوانستید منابع مفیدی را در مورد موضوع پیدا کنید.
از هر کمکی قدردانی می شود!