CSADDR_INFO struttura (ws2def.h)
La struttura CSADDR_INFO contiene informazioni sull'indirizzo di Windows Socket per un socket, un servizio di rete o un provider di spazi dei nomi.
Sintassi
typedef struct _CSADDR_INFO {
SOCKET_ADDRESS LocalAddr;
SOCKET_ADDRESS RemoteAddr;
INT iSocketType;
INT iProtocol;
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;
Members
LocalAddr
Tipo: SOCKET_ADDRESS
Indirizzo locale di Windows Sockets.
In un'applicazione client passare questo indirizzo alla funzione di associazione per ottenere l'accesso a un servizio di rete.
In un servizio di rete passare questo indirizzo alla funzione di associazione in modo che il servizio sia associato all'indirizzo locale appropriato.
RemoteAddr
Tipo: SOCKET_ADDRESS
Indirizzo remoto di Windows Sockets.
Per questo indirizzo remoto sono disponibili diversi usi:
- È possibile usare questo indirizzo remoto per connettersi al servizio tramite la funzione di connessione . Questa operazione è utile se un'applicazione esegue/ operazioni diricezione che coinvolgono protocolli orientati alla connessione.
- È possibile usare questo indirizzo remoto con la funzione sendto quando si comunica tramite un protocollo datagram (connectionless). Se si usa un protocollo senza connessione, ad esempio UDP, sendto è in genere il modo in cui si passano i dati al sistema remoto.
iSocketType
Tipo: INT
Tipo di socket di Windows. I valori possibili per il tipo di socket sono definiti nel file di intestazione Winsock2.h .
La tabella seguente elenca i valori possibili supportati per Windows Sockets 2:
Valore | Significato |
---|---|
|
Socket di flusso. Si tratta di un protocollo che invia i dati come flusso di byte, senza limiti di messaggio. Questo tipo di socket fornisce flussi di byte basati su byte sequenziati, affidabili e bidirezionali con un meccanismo di trasmissione dati OOB. Questo tipo di socket usa il protocollo TCP (Transmission Control Protocol) per la famiglia di indirizzi Internet (AF_INET o AF_INET6). |
|
Socket di datagram. Questo tipo di socket supporta i datagrammi, senza connessione, buffer non affidabili di una lunghezza massima fissa (in genere piccola). Questo tipo di socket usa il protocollo UDP (User Datagram Protocol) per la famiglia di indirizzi Internet (AF_INET o AF_INET6).
I servizi usano la funzione recvfrom per ottenere i datagrammi. Le funzioni di ascolto e accettazione non funzionano con i datagrammi. |
|
Socket di datagram di messaggio affidabile. Questo tipo di socket mantiene i limiti dei messaggi nei dati. Un esempio di questo tipo è l'implementazione del protocollo multicast (PGM) pragmatico in Windows, spesso definita programmazione multicast affidabile. |
|
Socket del flusso di pacchetti sequenziato. Questo tipo di socket fornisce un pacchetto di pseudo-flusso basato su datagrammi. |
iProtocol
Tipo: INT
Protocollo usato. Le opzioni possibili per il parametro del protocollo sono specifiche della famiglia di indirizzi e del tipo socket specificato. I valori possibili sono definiti nei file di intestazione Winsock2.h e Wsrm.h .
In Windows SDK rilasciato per Windows Vista e versioni successive, l'organizzazione dei file di intestazione è stata modificata e questo parametro può essere uno dei valori del tipo di enumerazione IPPROTO definito nel file di intestazione Ws2def.h . Si noti che il file di intestazione Ws2def.h viene incluso automaticamente in Winsock2.h e non deve mai essere usato direttamente.
La tabella seguente elenca i valori comuni per il protocollo anche se sono possibili molti altri valori.
Commenti
La funzione GetAddressByName ottiene informazioni sull'indirizzo di Windows Sockets usando le strutture CSADDR_INFO .
La funzione getsockopt chiamata con l'opzione socket SO_BSP_STATE recupera una struttura CSADDR_INFO per il socket specificato.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | ws2def.h (includere Nspapi.h) |