estructura de CSADDR_INFO (ws2def.h)

La estructura CSADDR_INFO contiene información de direcciones de Windows Sockets para un socket, un servicio de red o un proveedor de espacios de nombres.

Sintaxis

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

Miembros

LocalAddr

Tipo: SOCKET_ADDRESS

Dirección local de Windows Sockets.

En una aplicación cliente, pase esta dirección a la función de enlace para obtener acceso a un servicio de red.

En un servicio de red, pase esta dirección a la función de enlace para que el servicio esté enlazado a la dirección local adecuada.

RemoteAddr

Tipo: SOCKET_ADDRESS

Dirección remota de Windows Sockets.

Hay varios usos para esta dirección remota:

  • Puede usar esta dirección remota para conectarse al servicio a través de la función connect . Esto es útil si una aplicación realiza operaciones derecepción de envío/ que implican protocolos orientados a la conexión.
  • Puede usar esta dirección remota con la función sendto cuando se comunica a través de un protocolo sin conexión (datagrama). Si usa un protocolo sin conexión, como UDP, sendto suele ser la forma en que pasa datos al sistema remoto.

iSocketType

Tipo: INT

Tipo de Windows Socket. Los valores posibles para el tipo de socket se definen en el archivo de encabezado Winsock2.h .

En la tabla siguiente se enumeran los valores posibles admitidos para Windows Sockets 2:

Value Significado
SOCK_STREAM
Un socket de flujo. Se trata de un protocolo que envía datos como un flujo de bytes, sin límites de mensajes. Este tipo de socket proporciona secuencias de bytes secuenciadas, confiables y bidireccionales basadas en conexiones con un mecanismo de transmisión de datos OOB. Este tipo de socket usa el Protocolo de control de transmisión (TCP) para la familia de direcciones de Internet (AF_INET o AF_INET6).
SOCK_DGRAM
Un socket de datagrama. Este tipo de socket admite datagramas, que son a menos que los búferes no confiables de una longitud máxima fija (normalmente pequeña). Este tipo de socket usa el Protocolo de datagramas de usuario (UDP) para la familia de direcciones de Internet (AF_INET o AF_INET6).

Los servicios usan la función recvfrom para obtener datagramas. Las funciones de escucha y aceptación no funcionan con datagramas.

SOCK_RDM
Un socket de datagrama de mensaje confiable. Este tipo de socket conserva los límites del mensaje en los datos. Un ejemplo de este tipo es la implementación del protocolo de multidifusión general pragmática (PGM) en Windows, a menudo denominada programación de multidifusión confiable.
SOCK_SEQPACKET
Un socket de flujo de paquetes secuenciado. Este tipo de socket proporciona un paquete pseudo-stream basado en datagramas.

iProtocol

Tipo: INT

Protocolo utilizado. Las opciones posibles para el parámetro de protocolo son específicas de la familia de direcciones y el tipo de socket especificados. Los valores posibles se definen en los archivos de encabezado Winsock2.h y Wsrm.h .

En windows SDK publicado para Windows Vista y versiones posteriores, la organización de archivos de encabezado ha cambiado y este parámetro puede ser uno de los valores del tipo de enumeración IPPROTO definido en el archivo de encabezado Ws2def.h . Tenga en cuenta que el archivo de encabezado Ws2def.h se incluye automáticamente en Winsock2.h y nunca se debe usar directamente.

En la tabla siguiente se enumeran los valores comunes para el protocolo , aunque muchos otros valores son posibles.

protocol Significado
IPPROTO_TCP
6
Protocolo de control de transmisión (TCP). Este es un valor posible cuando la familia de direcciones es AF_INET o AF_INET6 y el miembro iSocketType es SOCK_STREAM.
IPPROTO_UDP
17
Protocolo de datagramas de usuario (UDP). Este es un valor posible cuando la familia de direcciones es AF_INET o AF_INET6 y el miembro iSocketType es SOCK_DGRAM.
IPPROTO_RM
113
Protocolo PGM para multidifusión confiable. Este es un valor posible cuando la familia de direcciones es AF_INET y el miembro iSocketType es SOCK_RDM. En windows SDK publicado para Windows Vista y versiones posteriores, este valor también se denomina IPPROTO_PGM.

Observaciones

La función GetAddressByName obtiene información de direcciones de Windows Sockets mediante estructuras CSADDR_INFO .

La función getockopt llamada con la opción de socket SO_BSP_STATE recupera una estructura de CSADDR_INFO para el socket especificado.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado ws2def.h (incluya Nspapi.h)

Consulte también

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

getsockopt

recv

enviar

sendto