Innanzitutto ti ringrazio per l'attenzione, poi ti vorrei fare due domande

1. A che serve quella funzione select? O meglio che cosa fa?

2. Per l'invio di un byte 0 intendi un "\0" ? E in questo caso il client dovrà controllare se il byte ricevuto è \0? E facendo cosi non sono obbligato a leggere comunque un byte alla volta?