Winsock
# Winsock

Winsock è una libreria che viene utilizzata nel sistema operativo Microsoft Windows per utilizzare in maniera semplificata i protocolli di rete TCP/IP.

In Windows i protocolli TCP/IP sono implementati nei driver tcpip.sys e tcpip6.sys ma, sebbene sia possibile per un programma utilizzare direttamente i servizi di questi driver, usualmente gli sviluppatori utilizzano la libreria Winsock per ragioni di semplicità e portabilità del codice. Infatti Winsock utilizza lo stesso concetto di socket (in inglese presa elettrica) introdotto dalla libreria Socket BSD introdotta con la Berkeley Software Distribution (BSD) di UNIX.

## Storia

### Trumpet Winsock

Nella storia dei primi Winsock, è la versione di Trumpet Software, Trumpet Winsock, ad aver avuto maggiore rilevanza. I primi produttori di Winsock, per il sistema operativo DOS, tra cui alcuni gruppi universitari, furono il PC/IP group al MIT, Sun Microsystems, FTP Software, Excelan, e Ungermann-Bass, principalmente in bundle con altro software o hardware. È stata una delle poche implementazioni di Winsock per Windows 3.1. Windows 3.1 non era dotato di un Winsock perché, benché il progetto WWW fosse stato lanciato l'anno precedente la commercializzazione di Windows 3.1, prima del lancio di Mosaic nel 1993 il web rimase per lo più sconosciuto e solo nel 1994 iniziò la sua vera espansione. Trumpet Winsock poteva essere configurato manualmente attraverso un'interfaccia grafica che richiedeva l'inserimento dell'indirizzo IP, del gateway e della lista dei domini. Successivamente Microsoft rilasciò il suo Winsock come add-on di Windows for Workgroups, direttamente nella versione 1.1 (nome in codice Wolverine), infatti la versione 1.0 non fu mai resa pubblica. Microsoft Winsock sarebbe poi stato integrato, nella versione 2, in Windows 95.

