mentre socket permette di aprire una porta qualsiasi, e di inviare tramite la porta aperta i comandi per poter comunicare con il protocollo in ascolto...curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE and LDAP.
Ad esempio con socket puoi aprire la porta 25 di un server smtp, autenticarti e spedire una mail, con curl no.
ciao