Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316

    [*] Gestione di pacchetti di dati corrotti

    Ho notato che i pacchetti che terminano con i seguenti byte sono corrotti:
    codice:
    Packet: t0x0240:  2c22 c88d 8332 2a7f 0035 1a45 7d60 0800  ,"...2*..5.E}`..
    Packet: t0x0250:  4500 c88d 8332 2a7f                      E....2*.
    o
    codice:
    Packet: t0x02a0:  223a c88d 8332 2a7f 0035 1a45 7d60 0800  ":...2*..5.E}`..
    N* 15
    Packet: t0x02b0:  4500 c88d 8332 2a7f 0035 1a45 7d60 0800  E....2*..5.E}`..
    in comune noto il pattern:
    ...2*..5.E}

    Secondo voi è una buona idea se li parso così, o questi byte possono cambiare o in qualche modo collidere con pacchetti validi:
    codice:
    if pacchetto[pos1:pos2] == 'c88d 8332 2a7f':
      print("pacchetto corrotto")

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Di solito per i pacchetti si usa un campo di controllo e nel caso nn fosse corretto si richiede il rinvio. Poi se vuoi trattare un pacchetto "rovinato"
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    Grazie della risposta
    pacchetti si usa un campo di controllo
    Cioè?

  4. #4
    Cioè si usa un checksum di qualche tipo, ovvero un valore calcolato sulla base di tutti gli altri dati. Quando arriva il pacchetto, il ricevente lo ricalcola, e controlla se è uguale a quello scritto nel messaggio. Se non coincidono c'è stato un qualche errore di trasmissione. Un algoritmo che si usa spesso per questo genere di cose è una qualche variante di CRC32, anche se una qualunque variante di hash crittografico (eventualmente troncato per risparmiare spazio) va altrettanto bene.
    Ultima modifica di MItaly; 24-02-2018 a 12:19
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.