Compartilhar via


estrutura CSADDR_INFO (nspapi.h)

A estrutura CSADDR_INFO contém informações de endereço do Windows Sockets para um soquete, serviço de rede ou provedor de namespace.

Sintaxe

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

Membros

LocalAddr

Tipo: SOCKET_ADDRESS

O endereço local do Windows Sockets.

Em um aplicativo cliente, passe esse endereço para a função de associação para obter acesso a um serviço de rede.

Em um serviço de rede, passe esse endereço para a função de associação para que o serviço seja associado ao endereço local apropriado.

RemoteAddr

Tipo: SOCKET_ADDRESS

Endereço remoto do Windows Sockets.

Há vários usos para esse endereço remoto:

  • Você pode usar esse endereço remoto para se conectar ao serviço por meio da função connect . Isso é útil se um aplicativo executa operações de envio/ derecebimento que envolvem protocolos orientados a conexão.
  • Você pode usar esse endereço remoto com a função sendto quando estiver se comunicando por meio de um protocolo (datagram) sem conexão. Se você estiver usando um protocolo sem conexão, como UDP, sendto normalmente é a maneira como você passa dados para o sistema remoto.

iSocketType

Tipo: INT

O tipo de soquete do Windows. Os valores possíveis para o tipo de soquete são definidos no arquivo de cabeçalho Winsock2.h .

A tabela a seguir lista os possíveis valores compatíveis com o Windows Sockets 2:

Valor Significado
SOCK_STREAM
Um soquete de fluxo. Esse é um protocolo que envia dados como um fluxo de bytes, sem limites de mensagem. Esse tipo de soquete fornece fluxos de bytes sequenciados, confiáveis, bidirecionais e baseados em conexão com um mecanismo de transmissão de dados OOB. Esse tipo de soquete usa o protocolo TCP para a família de endereços da Internet (AF_INET ou AF_INET6).
SOCK_DGRAM
Um soquete de datagrama. Esse tipo de soquete dá suporte a datagramas, que são buffers sem conexão e não confiáveis de um comprimento máximo fixo (normalmente pequeno). Esse tipo de soquete usa o UDP (Protocolo de Datagrama do Usuário) para a família de endereços da Internet (AF_INET ou AF_INET6).

Os serviços usam a função recvfrom para obter datagramas. As funções listen e accept não funcionam com datagramas.

SOCK_RDM
Um soquete de datagrama de mensagem confiável. Esse tipo de soquete preserva os limites de mensagem nos dados. Um exemplo desse tipo é a implementação de protocolo multicast PGM (Pragmática Geral Multicast) no Windows, geralmente conhecida como programação multicast confiável.
SOCK_SEQPACKET
Um soquete de fluxo de pacotes sequenciado. Esse tipo de soquete fornece um pacote pseudo stream com base em datagramas.

iProtocol

Tipo: INT

O protocolo usado. As opções possíveis para o parâmetro de protocolo são específicas para a família de endereços e o tipo de soquete especificados. Os valores possíveis são definidos nos arquivos de cabeçalho Winsock2.h e Wsrm.h .

Na SDK do Windows lançada para Windows Vista e posterior, a organização dos arquivos de cabeçalho foi alterada e esse parâmetro pode ser um dos valores do tipo de enumeração IPPROTO definido no arquivo de cabeçalho Ws2def.h. Observe que o arquivo de cabeçalho Ws2def.h é incluído automaticamente no Winsock2.h e nunca deve ser usado diretamente.

A tabela a seguir lista valores comuns para o protocolo , embora muitos outros valores sejam possíveis.

protocolo Significado
IPPROTO_TCP
6
O protocolo TCP. Esse é um valor possível quando a família de endereços é AF_INET ou AF_INET6 e o membro iSocketType é SOCK_STREAM.
IPPROTO_UDP
17
O UDP (User Datagram Protocol). Esse é um valor possível quando a família de endereços é AF_INET ou AF_INET6 e o membro iSocketType é SOCK_DGRAM.
IPPROTO_RM
113
O protocolo PGM para multicast confiável. Esse é um valor possível quando a família de endereços é AF_INET e o membro iSocketType é SOCK_RDM. No SDK do Windows lançado para Windows Vista e posterior, esse valor também é chamado de IPPROTO_PGM.

Comentários

A função GetAddressByName obtém informações de endereço do Windows Sockets usando estruturas CSADDR_INFO .

A função getsockopt chamada com a opção de soquete SO_BSP_STATE recupera uma estrutura de CSADDR_INFO para o soquete especificado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho nspapi.h (inclua Nspapi.h)

Confira também

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

Getsockopt

Recv

send

Sendto