Ciao,

Per la portabilita' tra windows e unix credo che basti avere l'avvertenza di usare solo send e recv per invio e ricezione, anche se sono scomodissimi, considerare le differenze tra fcntl o ioctl e la controparte windows ioctlsocket, usare delle define per close / closesocket, delle define per evitare di confondere il tipo SOCKET di windows con il tipo file descriptor (int) di Unix, definire INVALID_SOCKET -1 in Unix, uno wrapper per errno / GetLastError(). Per le socket non bloccanti usare delle select (vedi man) con dei timeout.

Quanto ho detto e' da dimostrare, ma sembra funzionare, comunque.