Associação do lado do cliente

Os identificadores de associação são compostos por uma sequência de protocolo, o nome ou 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 usar identificadores de associação automática, você não precisará escrever código-fonte especial para criar ou gerenciar a associação. O stub do cliente chama as funções RPC necessárias para estabelecer e manter a associação. Tudo o que você precisa fazer é especificar que o cliente usa identificadores de associação automática no ACF (arquivo de configuração de aplicativo) 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 remotas de carimbo de data/hora. 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 do 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 RPC. O stub do cliente os gerencia.

Se o aplicativo usar identificadores de associação implícitos ou explícitos, o cliente deverá obter as informações de associação e chamar as funções RPC para criar os identificadores. O local em que o cliente obtém as informações de associação depende dos requisitos do seu 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 do Windows XP/2000, as informações de associação podem ser recuperadas do Active Directory. Para obter mais informações, consulte Usando 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 Importando de bancos de dados de 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.