CSADDR_INFO-Struktur (ws2def.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 Bindungsfunktion , um Zugriff auf einen Netzwerkdienst zu erhalten.

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

RemoteAddr

Typ: SOCKET_ADDRESS

Remoteadresse von Windows Sockets.

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 Headerdatei Winsock2.h 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, verbindungsbasierte 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 Listen- und Akzeptanzfunktionen funktionieren nicht mit Datagrammen.

SOCK_RDM
Ein zuverlässiger Nachrichtendatengrammsocket. 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 basierend auf Datagrammen bereit.

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.

Im Windows SDK, das für Windows Vista und höher veröffentlicht wurde, 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 nie 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ässigen Multicast. Dies ist ein möglicher Wert, wenn die Adressfamilie AF_INET und das iSocketType-ElementSOCK_RDM ist. Im Windows SDK, das für Windows Vista und höher veröffentlicht wurde, wird dieser Wert auch als IPPROTO_PGM bezeichnet.

Hinweise

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

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile ws2def.h (einschließlich Nspapi.h)

Weitere Informationen

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

getsockopt

Recv

send

Sendto