Non ho esaminato a fondo il codice ma se il risultato della connect e' -1 allora c'e' stato un errore ... quindi se entra nella else e' perche' c'e' un errore ...

Solo se restituisce 0 allora e' andata bene ...

L'errore specifico lo trovi in errno ...