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 |
---|---|
|
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). |
|
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. |
|
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. |
|
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.
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) |