Quelle if else non hanno a che fare direttamente con i socket ma con il linguaggio C.
Fanno parte del concetto di "preprocessore" che è una delle basi del C.
Lavorano come le if else ma soltanto durante la compilazione, non durante l'esecuzione del programma.
Ecco perché ti dicevo che alcuni concetti devi acquisirli da libri/corsi/studio prima di affrontare altri discorsi e che questo non può essere fatto in un forum.