CSADDR_INFO-Struktur (nspapi.h)

Die CSADDR_INFO-Struktur enthält Windows Sockets-Adressinformationen für einen Socket, Netzwerkdienst oder Namespaceanbieter.

Syntax

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

Member

LocalAddr

Typ: SOCKET_ADDRESS

Die lokale Adresse von Windows Sockets.

Übergeben Sie in einer Clientanwendung diese Adresse an die Bindfunktion , um Zugriff auf einen Netzwerkdienst zu erhalten.

Übergeben Sie in einem Netzwerkdienst diese Adresse an die Bindfunktion , damit der Dienst an die entsprechende lokale Adresse gebunden ist.

RemoteAddr

Typ: SOCKET_ADDRESS

Windows Sockets-Remoteadresse.

Es gibt mehrere Verwendungsmöglichkeiten für diese Remoteadresse:

  • Sie können diese Remoteadresse verwenden, um über die Verbindungsfunktion eine Verbindung mit dem Dienst herzustellen. Dies ist nützlich, wenn eine Anwendung Sende/empfangene Vorgänge ausführt, die verbindungsorientierte Protokolle umfassen.
  • Sie können diese Remoteadresse mit der sendto-Funktion verwenden, wenn Sie über ein verbindungsloses Protokoll (Datagramm) kommunizieren. Wenn Sie ein verbindungsloses Protokoll wie UDP verwenden, ist sendto in der Regel die Art und Weise, wie Sie Daten an das Remotesystem übergeben.

iSocketType

Typ: INT

Der Typ des Windows-Sockets. Mögliche Werte für den Sockettyp sind in der Winsock2.h-Headerdatei definiert.

In der folgenden Tabelle sind die möglichen Werte aufgeführt, die für Windows Sockets 2 unterstützt werden:

Wert Bedeutung
SOCK_STREAM
Ein Streamsocket. Dies ist ein Protokoll, das Daten als Bytestrom ohne Nachrichtengrenzen sendet. Dieser Sockettyp bietet sequenzierte, zuverlässige, bidirektionale bytebasierte Bytedatenströme mit einem OOB-Datenübertragungsmechanismus. Dieser Sockettyp verwendet tcp (Transmission Control Protocol) für die Internetadressenfamilie (AF_INET oder AF_INET6).
SOCK_DGRAM
Ein Datagrammsocket. Dieser Sockettyp unterstützt Datagramme, bei denen es sich um verbindungslose, unzuverlässige Puffer mit einer festen (in der Regel kleinen) maximalen Länge handelt. Dieser Sockettyp verwendet das User Datagram Protocol (UDP) für die Internetadressenfamilie (AF_INET oder AF_INET6).

Dienste verwenden die recvfrom-Funktion , um Datagramme abzurufen. Die Funktionen "Listen" und "accept" funktionieren nicht mit Datagrammen.

SOCK_RDM
Ein zuverlässiger Nachrichten-Datagrammsocket. Dieser Sockettyp behält Nachrichtengrenzen in Daten bei. Ein Beispiel für diesen Typ ist die PGM-Multicastprotokollimplementierung (Pragmatic General Multicast) in Windows, die häufig als zuverlässige Multicastprogrammierung bezeichnet wird.
SOCK_SEQPACKET
Ein sequenzierter Paketstreamsocket. Dieser Sockettyp stellt ein Pseudostreampaket bereit, das auf Datagrammen basiert.

iProtocol

Typ: INT

Das verwendete Protokoll. Die möglichen Optionen für den Protokollparameter sind spezifisch für die angegebene Adressfamilie und den angegebenen Sockettyp. Mögliche Werte werden in den Headerdateien Winsock2.h und Wsrm.h definiert.

Auf der für Windows Vista und höher veröffentlichten Windows SDK wurde die organization der Headerdateien geändert, und dieser Parameter kann einer der Werte des IPPROTO-Enumerationstyps sein, der in der Ws2def.h-Headerdatei definiert ist. Beachten Sie, dass die Ws2def.h-Headerdatei automatisch in Winsock2.h enthalten ist und niemals direkt verwendet werden sollte.

In der folgenden Tabelle sind allgemeine Werte für das Protokoll aufgeführt, obwohl viele andere Werte möglich sind.

Protokoll Bedeutung
IPPROTO_TCP
6
Das Tcp-Protokoll (Transmission Control Protocol). Dies ist ein möglicher Wert, wenn die Adressfamilie AF_INET oder AF_INET6 ist und das iSocketType-ElementSOCK_STREAM ist.
IPPROTO_UDP
17
Das User Datagram Protocol (UDP). Dies ist ein möglicher Wert, wenn die Adressfamilie AF_INET oder AF_INET6 ist und das iSocketType-ElementSOCK_DGRAM ist.
IPPROTO_RM
113
Das PGM-Protokoll für zuverlässiges Multicast. Dies ist ein möglicher Wert, wenn die Adressfamilie AF_INET und das iSocketType-ElementSOCK_RDM ist. Auf der für Windows Vista und höher veröffentlichten Windows SDK wird dieser Wert auch als IPPROTO_PGM bezeichnet.

Hinweise

Die GetAddressByName-Funktion ruft Windows Sockets-Adressinformationen mithilfe von CSADDR_INFO-Strukturen ab.

Die getockopt-Funktion , die mit der Option SO_BSP_STATE Socket aufgerufen wird, ruft eine CSADDR_INFO-Struktur für den angegebenen Socket ab.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile nspapi.h (Nspapi.h einschließen)

Weitere Informationen

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

getsockopt

Recv

send

Sendto