Salve a tutti, vi espongo brevemente il mio problema.
Io sto lavorando ad un progetto c/s scritto in c, in cui una zedboard (scheda di programmazione della Xilinx) deve inviare dei semplici frame (640x480) residenti in memoria ad un pc host via ethernet utilizzando il protocollo UDP.
Il protocollo di comunicazione tra client e server è il più semplice possibile: appena avviato, il programma sulla zedboard comincia ad inviare i frame letti, e il programma sul pc host li riceve visualizzandoli a schermo. Per i limiti legati al protocollo udp, non riesco ad inviare un'immagine intera (307.200 byte) e quindi sono costretto ad effettuare diversi invii (ho scelto di inviare datagram grandi 1024 byte e di conseguenza saranno 300 invii).
Il lato server è ok, infatti invia un frame completo in circa 0.01 secondi.
Il problema è il client (il SO è ubuntu) che non riceve tutti i 300 pacchetti, ma circa una ventina. Provando a diminuire il numero di invii a 10 ho notato che al contrario li riceve tutti quanti, ed ho quindi supposto che il problema fosse una differenza troppo elevata tra la send() e la recvfrom(), o che il buffer della recvfrom non sia abbastanza capiente, ma tuttora non sono riuscito a risolvere il problema. Grazie in anticipo per l'aiuto!