Sicuramente una parte della colpa è da imputare alla funzione WriteByte. Non devi scrivere un byte alla volta, ma un buffer completo (solitamente 1, 2, 4 o 8 KiB). Altrimenti le trasmissioni hanno troppo overhead.
Inoltre penso che l'invio avvenga di default tramite TCP, quindi c'è da considerare tutti i meccanismi di controllo di flusso di livello 4. Ovviamente non arriverai mai a sfruttare tutta la capacità del canale sottostante.
P.S.: ricordati di convertire da B/s a b/s. 6B/s sono 48Mbit/s. Considera anche che non tutta la banda è a disposizione per il tuo livello applicativo. Ci sono altri processi che verosimilmente usano la stessa interfaccia di rete e poi ci sono i vari protocolli di routing e spanning tree i cui pacchetti viaggiano per la sottorete.
"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)
"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti) |