Associação do lado do cliente

Os identificadores de associação são compostos por uma sequência de protocolo, o nome ou o endereço de um computador host do programa de servidor e um ponto de extremidade do programa de servidor. Portanto, seu programa cliente deve obter ou fornecer essas informações para criar uma associação.

Se o programa cliente usa identificadores de associação automática, você não precisa escrever código-fonte especial para criar ou gerenciar a associação. O stub do cliente chama funções RPC necessárias para estabelecer e manter a associação. Tudo o que você precisa fazer é especificar que seu cliente usa identificadores de associação automática no arquivo de configuração do aplicativo (ACF) e projetar a interface adequadamente. Para obter detalhes, consulte Identificadores de Associação Automática.

Suponha, por exemplo, que você estava desenvolvendo um programa cliente que chamou funções de carimbo de data/hora remotas. Aqui, os stubs fazem todo o trabalho e o cliente só precisa incluir o arquivo de cabeçalho gerado Auto.h para obter os protótipos de função para os procedimentos remotos. As chamadas de aplicativo cliente para os procedimentos remotos aparecem como se fossem chamadas para procedimentos locais, conforme mostrado no exemplo a seguir:

/* auto handle client application (fragment) */
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include "auto.h"    // header file generated by the MIDL compiler
 
 
void main(int argc, char **argv)
{
    time_t t1;
    time_t t2;
    char * pszTime;
    ...
 
    GetTime(&t1);  // GetTime is a remote procedure
    GetTime(&t2);
 
    pszTime = ctime(&t1);
    printf("time 1= %s\n", pszTime);
 
    pszTime = ctime(&t2);
    printf("time 2= %s\n", pszTime);
 
    Shutdown();    // Shutdown is a remote procedure
    exit(0);
}

Como você pode ver no exemplo anterior, o aplicativo cliente não precisa fazer chamadas explícitas para as funções de biblioteca de tempo de execução do RPC. O stub do cliente os gerencia.

Se o aplicativo usar identificadores de associação implícitas ou explícitas, o cliente deverá obter as informações de associação e chamar as funções RPC para criar os identificadores. De onde o cliente obtém as informações de associação depende dos requisitos do aplicativo. O programa de instalação que instala seu aplicativo cliente pode armazenar informações de associação em variáveis de ambiente que ele cria. Ele também pode salvar informações de associação em um arquivo de configuração específico do aplicativo. Como as informações de associação em variáveis de ambiente ou arquivos de configuração geralmente são armazenadas como cadeias de caracteres, seu aplicativo cliente precisará converter a cadeia de caracteres em uma associação. Em ambientes Windows XP/2000, as informações de associação podem ser recuperadas do Active Directory. Para obter mais informações, consulte Como usar associações de cadeia de caracteres.

A maioria das redes tem um serviço de nome. Os programas de servidor podem se anunciar no banco de dados de serviço de nome. Quando um cliente inicia a execução, ele pode obter suas informações de associação do banco de dados de serviço de nome. Para obter detalhes, consulte Importação de Bancos de Dados do Serviço de Nome.

As etapas necessárias para associação com identificadores implícitos e explícitos são discutidas nos seguintes tópicos:

Para obter uma breve visão geral desses tópicos, consulte Conectando o cliente e o servidor.