Puoi inviare tutti i byte che vuoi, ma se il valore è superiore all'MTU, i dati vengono frammentati.Originariamente inviato da Jekkil
Ciao a tutti, sto sviluppando a scopo didattico (non mi sarei mai impelagato con la programmazione così a basso livello) un programma in c.
Il programma è una semplice applicazione client-server in cui il server apre un file in modalità binaria, legge un tot di byte alla volta e li manda al client. dall'altra parte il client riceve i byte del file e lo ricrea. Niente di pià semplice.
La mia domanda è: ho provato a leggere 64K byte alla volta e a inviarli e va tutto bene, mosso dalla curiosità ho aumentato il numero di byte e continua ad andare tutto bene, quindi mi chiedo se c'è una limitazione al numero di byte che possono essere spediti con una send(). Inoltre qual 'è il modo più corretto di procedere? ho pensato che fosse meglio leggere intorno a 500-1000 byte alla volta e spedirli in modo da evitare la frammentazione dei pacchetti a livelli più bassi? sbaglio? che aiuto mi potete dare?
grazie a tutti!
Quindi in teoria dovresti inviare non più di MTU byte alla volta.
Di solito l'MTU è 1500, quindi se invii 1024 byte alla volta non dovresti avere problemi.

Rispondi quotando