Socket in .NET
Lo spazio dei nomi System.Net.Sockets contiene un'implementazione di rete socket multipiattaforma gestita. Tutte le altre classi di accesso alla rete nello spazio dei nomi System.Net si basano su questa implementazione dei socket.
La classe Socket è una versione con codice gestito dei servizi socket forniti che si basano sull'interoperabilità nativa con Linux, macOS o Windows. Nella maggior parte dei casi, i metodi della classe Socket
eseguono semplicemente il marshalling dei dati nelle rispettive controparti native e gestiscono gli eventuali controlli di sicurezza necessari.
La classe Socket
supporta due modalità di base, sincrona e asincrona. In modalità sincrona, le chiamate a funzioni che eseguono operazioni di rete (ad esempio SendAsync e ReceiveAsync) attendono il completamento dell'operazione prima di restituire il controllo al programma chiamante. In modalità asincrona, queste chiamate restituiscono il controllo immediatamente.