Windows Sockets: sfondo
In questo articolo viene indicata la natura e lo scopo di Windows Sockets.L'articolo anche:
Definisce il concetto socket".
Descrive il tipo di dati degli handle di SOCKET.
Vengono descritti gli utilizzi dei socket.
La specifica di Windows Sockets definisce un'interfaccia di programmazione binario- compatibile di rete per Microsoft Windows.Windows Sockets è basato sull'implementazione sockets di UNIX di Berkeley Software Distribution (BSD, versione 4,3) da università di California di Berkeley.La specifica include entrambe le routine e estensioni stile BSD di socket specifiche per le finestre.Utilizzo di autorizzazioni Windows Sockets l'applicazione comunicare tramite una rete conforme a Windows Sockets API.In Win32, Windows Sockets fornisce un thread.
Molti fornitori di software di rete supportano Windows Sockets nei protocolli di rete tra Transmission Control Protocol) o Internet Protocol) (TCP/IP), il Xerox Network System (XNS), il protocollo di DECnet di l Equipment Corporation, il pacchetto Exchange/Exchange compresso ordinato (IPX/SPX e altri Internet di Novell Corporation.Sebbene la specifica di Windows Sockets del presente definire l'astrazione di socket per il protocollo TCP/IP, qualsiasi protocollo di rete può essere conforme a Windows Sockets fornendo la propria versione di libreria a collegamento dinamico (DLL) che implementa Windows Sockets.Esempi di applicazioni commerciali scritte con Windows Sockets includono i server Windows X, gli emulatori finali e sistemi postali di posta elettronica.
[!NOTA]
Lo scopo di Windows Sockets è di sottrarre tramite la rete sottostante in modo da non dover essere è presente sulla rete e pertanto l'applicazione può essere eseguita in una rete che i socket supportate.Pertanto, in questa documentazione non vengono illustrati i dettagli dei protocolli di rete.
La supporta la programmazione della libreria MFC (MFC) con Windows Sockets API specificando due classi.Una di queste classi, CSocket, fornisce un livello elevato di astrazione per semplificare la programmazione di comunicazione di rete.
La specifica di Windows Sockets, Windows Sockets: Un'interfaccia aperta per la rete che calcola in Microsoft Windows, ora alla versione 1,1, è stata compilata come standard aperti di rete da un ampio gruppo di utenti e dell'azienda nella community TCP/IP e non deve avere disponibile per l'utilizzo.Il modello di programmazione di socket supporta attualmente un "dominio di comunicazione", utilizzando la famiglia di prodotti del protocollo internet.La specifica è disponibile in Windows SDK.
Suggerimento |
---|
Poiché i socket utilizzano la famiglia di prodotti del protocollo internet, sono le route preferito per le applicazioni che supportano le comunicazioni Internet "su autostrada)". |
Definizione di un socket
Un socket è un endpoint di comunicazione (un oggetto in cui un'applicazione Windows Sockets vengono inviati o ricevuti i pacchetti di dati in rete.Un socket dispone di un tipo e associato a un processo in esecuzione e può avere un nome.Attualmente, di socket scambiare dati in genere solo con altri socket nello stesso dominio "servizi", che utilizza la famiglia di prodotti del protocollo internet.
Entrambi i tipi di socket sono bidirezionali, sono flussi di dati che possono ricevere contemporaneamente in entrambe le direzioni (pieno duplex).
Due tipi di socket sono disponibili:
Socket di flusso
I socket di flusso per un flusso di dati senza limiti record: un flusso di byte.I flussi sono garantiti per essere resi e correttamente per essere ordinati e per unduplicated.
Socket di datagramma
I socket di datagramma supportano in un flusso di dati orientato a record non è garantito da fornire e non possono essere ordinati come inviato o unduplicated.
"Ordinato" significa che i pacchetti vengono resi disponibili nell'ordine inviato. Unduplicated" significa visualizzato solo quando un particolare pacchetto.
[!NOTA]
In alcuni protocolli di rete, ad esempio XNS, i flussi possono essere orientato record, il flusso dei record anziché i flussi di byte.Nel più comune protocollo TCP/IP, tuttavia, i flussi sono flussi di byte.Windows Sockets fornisce un livello di astrazione di indipendente dal protocollo sottostante.
Per informazioni su questi tipi e il tipo di socket utilizzare nelle situazioni, vedere Windows Sockets: Socket di flusso e Windows Sockets: Socket di datagramma.
Il tipo di dati del SOCKET
Ogni oggetto sockets MFC include un handle a un oggetto di Windows Sockets.Il tipo di dati degli handle è SOCKET.Gli handle SOCKET sono analoghe a HWND per una finestra.Le classi di sockets MFC forniscono operazioni sugli handle incapsulati.
Il tipo di dati SOCKET viene descritto dettagliatamente in Windows SDK.Vedere "tipo di dati e di errore di socket" in Windows Sockets.
Utilizzare per i socket
I socket sono estremamente utili in almeno tre contesti di comunicazione:
Modelli client/server.
Scenari peer-to-peer, come quelle di messaggistica.
Eseguire chiamate a procedura remota (RPC) all'applicazione ricevente interpretazione un messaggio a una chiamata di funzione.
Suggerimento |
---|
L'argomento ideale per l'utilizzo di sockets MFC quando si scrivono entrambe le estremità di comunicazione: utilizzo di MFC a entrambe le estremità.Per ulteriori informazioni su questo argomento, incluso come gestire il caso durante la comunicazione con le applicazioni non MFC, vedere Windows Sockets: Ordinamento di byte. |
Per ulteriori informazioni, vedere la specifica di Windows Sockets: ntohs, ntohl, htons, htonl.Inoltre, vedere i seguenti argomenti: