Partager via


CSADDR_INFO structure (nspapi.h)

La structure CSADDR_INFO contient des informations d’adresse Windows Sockets pour un socket, un service réseau ou un fournisseur d’espaces de noms.

Syntaxe

typedef struct _CSADDR_INFO {
  SOCKET_ADDRESS LocalAddr;
  SOCKET_ADDRESS RemoteAddr;
  INT            iSocketType;
  INT            iProtocol;
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;

Membres

LocalAddr

Type : SOCKET_ADDRESS

Adresse locale de Windows Sockets.

Dans une application cliente, transmettez cette adresse à la fonction de liaison pour obtenir l’accès à un service réseau.

Dans un service réseau, transmettez cette adresse à la fonction de liaison afin que le service soit lié à l’adresse locale appropriée.

RemoteAddr

Type : SOCKET_ADDRESS

Adresse distante de Windows Sockets.

Il existe plusieurs utilisations pour cette adresse distante :

  • Vous pouvez utiliser cette adresse distante pour vous connecter au service via la fonction de connexion . Cela est utile si une application effectue des opérations d’envoi/de réception qui impliquent des protocoles orientés connexion.
  • Vous pouvez utiliser cette adresse distante avec la fonction sendto lorsque vous communiquez via un protocole sans connexion (datagramme). Si vous utilisez un protocole sans connexion, tel qu’UDP, sendto est généralement la façon dont vous transmettez des données au système distant.

iSocketType

Type : INT

Type de socket Windows. Les valeurs possibles pour le type de socket sont définies dans le fichier d’en-tête Winsock2.h .

Le tableau suivant répertorie les valeurs possibles prises en charge pour Windows Sockets 2 :

Valeur Signification
SOCK_STREAM
Socket de flux. Il s’agit d’un protocole qui envoie des données sous la forme d’un flux d’octets, sans limites de message. Ce type de socket fournit des flux d’octets séquencés, fiables, bidirectionnel et basés sur la connexion avec un mécanisme de transmission de données OOB. Ce type de socket utilise le protocole TCP (Transmission Control Protocol) pour la famille d’adresses Internet (AF_INET ou AF_INET6).
SOCK_DGRAM
Socket de datagramme. Ce type de socket prend en charge les datagrammes, qui sont des mémoires tampons non fiables sans connexion d’une longueur maximale fixe (généralement petite). Ce type de socket utilise le protocole UDP (User Datagram Protocol) pour la famille d’adresses Internet (AF_INET ou AF_INET6).

Les services utilisent la fonction recvfrom pour obtenir des datagrammes. Les fonctions d’écoute et d’acceptation ne fonctionnent pas avec les datagrammes.

SOCK_RDM
Socket de datagramme de message fiable. Ce type de socket conserve les limites de message dans les données. Un exemple de ce type est l’implémentation du protocole de multidiffusion général pragmatique (PGM) dans Windows, souvent appelée programmation de multidiffusion fiable.
SOCK_SEQPACKET
Socket de flux de paquets séquencé. Ce type de socket fournit un paquet de pseudo-flux basé sur des datagrammes.

iProtocol

Type : INT

Protocole utilisé. Les options possibles pour le paramètre de protocole sont spécifiques à la famille d’adresses et au type de socket spécifiés. Les valeurs possibles sont définies dans les fichiers d’en-tête Winsock2.h et Wsrm.h .

Sur la SDK Windows publiée pour Windows Vista et versions ultérieures, la organization des fichiers d’en-tête a changé et ce paramètre peut être l’une des valeurs du type d’énumération IPPROTO défini dans le fichier d’en-tête Ws2def.h. Notez que le fichier d’en-tête Ws2def.h est automatiquement inclus dans Winsock2.h et ne doit jamais être utilisé directement.

Le tableau ci-dessous répertorie les valeurs courantes pour le protocole , bien que de nombreuses autres valeurs soient possibles.

protocol Signification
IPPROTO_TCP
6
Protocole TCP (Transmission Control Protocol). Il s’agit d’une valeur possible lorsque la famille d’adresses est AF_INET ou AF_INET6 et que le membre iSocketType est SOCK_STREAM.
IPPROTO_UDP
17
Protocole UDP (User Datagram Protocol). Il s’agit d’une valeur possible lorsque la famille d’adresses est AF_INET ou AF_INET6 et que le membre iSocketType est SOCK_DGRAM.
IPPROTO_RM
113
Protocole PGM pour une multidiffusion fiable. Il s’agit d’une valeur possible lorsque la famille d’adresses est AF_INET et que le membre iSocketType est SOCK_RDM. Sur la SDK Windows publiée pour Windows Vista et versions ultérieures, cette valeur est également appelée IPPROTO_PGM.

Remarques

La fonction GetAddressByName obtient des informations d’adresse Windows Sockets à l’aide de structures CSADDR_INFO .

La fonction getsockopt appelée avec l’option de socket SO_BSP_STATE récupère une structure CSADDR_INFO pour le socket spécifié.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête nspapi.h (include Nspapi.h)

Voir aussi

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

getsockopt

Recv

envoyer

Sendto