Home ApplicazioneProtocolli Rete Socket Client-Server Makefile Segnali Web LaTeX Bibliografia
Socket

SOCKET

1.1 COS'E' IL SOCKET

Un socket, in informatica, è un'astrazione software, gestita dal sistema operativo, che rappresenta un canale di comunicazione di rete tra un processo e una risorsa. Per un programmatore, un socket è un particolare oggetto sul quale leggere e scrivere i dati da trasmettere o ricevere.

1.2 FUNZIONALITA' ED UTILIZZO DEL SOCKET

Il socket, nei sistemi operativi moderni, serve per poter utilizzare delle API standard, condivise attraverso la rete. Permette l'invio e la ricezione di dati, tra host remoti o tra processi locali. Socket locali e remoti in comunicazione, formano una coppia, composta da indirizzo e porta di client e server. Solitamente i sistemi operativi forniscono delle API per permettere alle applicazioni di controllare e utilizzare i socket di rete.
I protocolli utilizzabili per l'implementazione dei socket sono: -protocollo TCP (Transfer Control Protocol); -protocollo UDP (User Datagram Protocol); Entrambi questi protocolli si appoggiano sul protocollo IP (Internet Protocol). I socket possono essere implementati con svariati linguaggi di programmazione, come C, C++ e java.

1.3 NASCITA DEL SOCKET

L'origine dei socket risale al 1983, quando furono introdotti nel BSD (BSD- Berkeley Software Distribution) nell'università di Berkeley in California. La Advanced Research Project Agency finanziò l'università di Berkeley per implementare la suite TCP/IP nel sistema operativo Unix.
I ricercatori di Berkeley svilupparono il set originario di funzioni che fu chiamato “interfaccia socket”.

1.4 INTERFACCIA SOCKET

L'interfaccia con le applicazioni non è solitamente definita all'interno dei protocolli di comunicazione, ma è invece parte dei sistemi operativi residenti che si limitano ad accogliere le linee generali dei protocolli. Così, le specifiche di un certo protocollo potrebbero suggerire che è necessaria un'operazione che consenta alle applicazioni di trasmettere dati, e l'API del sistema operativo stabilirà il nome della funzione relativa e il tipo dei suoi argomenti. Nonostante questa libertà di scelta, molti sistemi operativi, da Windows a varie versioni di UNIX, hanno scelto l'API detta socket (letteralmente, presa di corrente).
Molti produttori di calcolatori hanno adottato il sistema di BSD come base per lo sviluppo di sistemi operativi commerciali, cosa che ha reso l'interfaccia socket lo standard di mercato.

1.5 API SOCKET

Si è detto che le applicazioni client server comunicano tramite i protocolli di trasporto. Tali applicazioni devono fornire al protocollo molte informazioni, come per esempio l'intenzione di fungere da server o da client, e altri dettagli relativi ai dati da trasmettere o ricevere. A questo fine, le applicazioni utilizzano la cosiddetta Interfaccia con le Applicazioni (API, Application Program Interface) che definisce le operazioni che queste possono eseguire.
API determina quindi non solo gli strumenti disponibili per la comunicazione ma anche la difficoltà che si riscontra nello scrivere un programma che utilizzi tali strumenti.
Gruppi
Applicazione
- Alessandro Angelone
- Mattia Vinante
- Patrick Coviello
- Daniel Amadori
Documentazione
- Daniele Balzama'
- Matteo Forti
- Lorenzo Monorchio
- Giovanni Pani
- Dyllan Ruales
- Nicole De Min
- Usama Chaudhry
Sviluppo Web
- Mateo Myftaraj
- Fabio Travagli
- Nicola Imperiale
- Andrea Pigozzo
LaTeX
- Michele Candioli
- Patrick Coviello
- Michael Barba
- Marco Filippi
Traduzione
- Samuele Aldi
- Emil Kob
- Luca Viola
- Stanislav Nacu
Project Leader
- Simone Tagliapietra

Coordinatori
- Prof. Iaccarino
- Prof. Minichiello