なるほど!ありがとうございます。
受信のは逆っていいますと

net_datasize = htons(host_datasize);
p = (ushort *)&sixbytes[4];
*p = net_datasize;
が逆に行うってことですか?

頭悪すぎてすみません!!