No, a "scritti" stai assegnando il valore booleano di

codice:
sendto(psockfd, (int*)&temp.sin_port, 4, 0, (struct sockaddr *)&pclntddrss, sizeof(pclntddrss)) < 0
ti mancano delle parentesi, fai attenzione alle regole di precedenza degli operatori. Devi aggiustare con

codice:
if ((scritti = sendto(psockfd, (int*)&temp.sin_port, 4, 0, (struct sockaddr *)&pclntddrss, sizeof(pclntddrss))) < 0)
Hai un errore simile in diverse altre parti del codice.