a occhio e corece sembra essere a posto il codice...

e se fosse il server in se? te lo sei chiesto?

ti converrebbe inserire un routine di controllo dei byte che vengono passati...