Tivoli Service Desk 6.0 Developer's Toolkit - Referência de Linguagem do Script
Retornar à Página Principal
NetAccept associa uma rotina de tratamento de eventos e dados de ocorrência específicos da conexão a uma conexão que foi tratada anteriormente pela rotina de tratamento de eventos NetListen.
FUNCTION NetAccept (VAL hndlHost: NETCONNECTION, EventHandler {InstanceData} :EVENT, ): INTEGER:
Nome do Argumento | Descrição |
hndlHost | O identificador para a conexão. Este identificador pode ser utilizado em chamadas para SendMessage e PostMessage para comunicação com um host. Ele deve ser atendido por uma rotina de tratamento de eventos NetListen a ser utilizada em uma chamada para NetAccept. |
EventHandler | Processa mensagens do servidor. |
Todas as conexões atendidas por rotinas de tratamento de eventos NetListen compartilham a mesma cópia de dados de ocorrência definidos para a rotina de tratamento de eventos NetListen. Você pode associar um conjunto específico de dados de ocorrência a uma conexão NetListen aberta, chamando a instrução NetAccept para a conexão.
Nota: NetAccept pode ser chamada somente para uma conexão NetListen e somente por seu identificador.
Os dados de ocorrência associados à conexão não são utilizados com outras conexões abertas ou que possam ser abertas no futuro para a rotina de tratamento de eventos NetListen. Após a chamada de NetAccept, a conexão é alterada. Todos os pedidos para o mesmo host ou serviço são direcionados para a nova rotina de tratamento de eventos.
Quando NetAccept é chamada para assumir uma conexão atendida por NetListen, a rotina de tratamento de eventos passada para NetAccept recebe uma $MsgCreate para criar seus dados de ocorrência. (Uma rotina de tratamento de eventos NetListen abriu a conexão antes da chamada NetAccept.)
Uma rotina de tratamento de eventos NetAccept faz o seguinte:
Os códigos de retorno, em geral, originam-se da máquina local, a não ser que especificado ao contrário.
Código de Retorno | Descrição |
1 | Sucesso |
-1 | BAD_HANDLE O identificador NetConnection não se refere a um identificador válido. Este código de retorno poderá ser enviado se o processo do servidor tiver sido encerrado e reiniciado desde o estabelecimento da conexão. Este código de retorno poderia ser originado da máquina local ou remota. |
-2 | UNKNOWN_VALUE Um parâmetro com um valor desconhecido foi utilizado com uma chamada que requer que o parâmetro tenha um valor conhecido. |
-3 | NO_MEMORY Não havia memória suficiente disponível para concluir a operação. |
-4 | NO_CREATE Não foi possível criar uma conexão. Este código de retorno pode ter sido originado de uma máquina local ou remota no sistema operacional ou no nível da rede. Também é aplicado a outros objetos de sistema requeridos pelo servidor. NetRegister retornará esta mensagem se um segundo servidor Tivoli Script tentar iniciar na mesma porta. |
-5 | INVALID_TYPE Há três mensagens projetadas para transferir dados através de uma rede. $MsgNetInteger, $MsgNetReal e $MsgNetString aceitam somente um certo tipo de dados. Este código de retorno será exibido se um argumento impróprio for passado para uma instrução SendMessage ou PostMessage. |
-10 | OS_CALL_FAILED Uma chamada falhou no nível do sistema operacional. Isso pode ser causado por configuração imprópria ou recursos inadequados. |
-12 | ERROR_BAD_MSG A instrução SendMessage ou PostMessage foi chamada com uma mensagem que não é suportada pelas instruções NETx (ou uma mensagem $MsgUser + n definida pelo usuário, especificamente para uso com instruções NETx). |
-13 | HOST_UNREACHABLE O servidor solicitado não pôde ser alcançado. O servidor está desativado, não existe nenhuma rota para o servidor ou não há rotina de tratamento de eventos NetListen ou NetRegister sendo executada no servidor. |
-15 | RESOURCE_LOCK Outra conexão está utilizando recursos compartilhados que são necessários para atender a chamada. Este código de retorno poderá ocorrer se o sistema estiver sobrecarregado. |
-16 | SERVICE_NOT_SUPPORTED O servidor não suporta o serviço solicitado. |
-17 | NO_CONNECTION Não há conexão válida associada com o identificador. |
-18 | BAD PORT A parte de porta de uma cadeia de serviços não pode ser processada em uma porta ou serviço válido. |
NetClose fecha uma conexão.
FUNCTION NetClose (VAL hndlHost: NETCONNECTION ): INTEGER:
Argumento | Descrição |
hndlHost | O identificador para a conexão |
Antes dos dados de ocorrência serem destruídos, a rotina de tratamento de eventos da conexão recebe uma mensagem $MsgDestroy.
Nota: Se a conexão for agravada por uma rotina de tratamento de eventos NetListen, os dados de ocorrência não serão destruídos.
Quando o cliente inicia um fechamento, NetClose fecha a
conexão do lado do cliente. O servidor detecta a conexão fechada e envia para a rotina de tratamento
de eventos da conexão uma mensagem $MsgNetClose.
O servidor destrói todos os dados de ocorrência associados à conexão antes de fechar
a conexão.
NetConnect estabelece uma conexão entre duas máquinas em rede.
NetConnect possui dois formatos de sintaxe: cliente e ponto a ponto. O formato principal (listado como a variação cliente/servidor), é utilizado para abrir conexões nas arquiteturas de cliente ou ponto a ponto.
A seguir, a sintaxe do cliente.
FUNCTION NetConnect(REF hndlHost: NETCONNECTION, VAL hostName: STRING, VAL service: STRING ): INTEGER;
A seguir, a sintaxe ponto a ponto.
FUNCTION NetConnect( VAL hndlHost: NETCONNECTION ): INTEGER;
Nota: Ponto a Ponto é um atalho para a criação de uma conexão de retorno.
Nome do Argumento | Descrição |
hndlHost | O identificador para o servidor. Utilize este identificador em chamadas para SendMessage e PostMessage para comunicar-se com o servidor. Se já existir um identificador para o par host/serviço, chamar NetConnect retornará esse identificador. Se você utilizar o formato ponto a ponto, o identificador será inicializado para a conexão de retorno. |
hostName | O nome ou IP do servidor pretendido. |
serviço | O nome de um serviço específico que o cliente solicita do
servidor. Se você especificar o nome do serviço como uma cadeia de comprimento zero ou $Unknown,
o servidor procurará um serviço curinga. (O nome do serviço pode ter até 256 caracteres.) Se o serviço não for encontrado no servidor, o servidor tentará corresponder o pedido de serviço com um serviço curinga ou com um serviço genérico (um registrado com uma rotina de tratamento de eventos NetListen). Um número de porta para a máquina remota pode ser anexada à cadeia de serviços com a seguinte forma: serviço : nnnn onde nnnn é um número de porta TCP/IP. Caso contrário, a forma é: serviço : nome onde nome é um nome de serviço TCP/IP. |
Se você chamar NetConnect em um identificador associado a uma conexão existente, NetConnect não reabrirá a conexão, mas verificará se o seguinte é verdadeiro:
SourceName : Porta
O serviço padrão é ASENET/TCP. A porta padrão é 5005.
Retorna o endereço remoto associado a uma conexão ativa
FUNCTION NetGetAddress( VAL handle : NETCONNECTION ) : STRING;
Nome do Argumento | Descrição |
handle | Identificador da conexão ativa |
Retorna desconhecido com erro ou se a conexão não está ativa.
NetGetHostName retorna o nome (ou ID da máquina) do servidor associado a uma conexão quando é chamado em um cliente. NetGetHostName retorna o nome do cliente quando é chamado no servidor.
FUNCTION NetGetHostName( VAL hndlHost: NETCONNECTION ): STRING:
Nome do Argumento | Descrição |
hndlHost | O identificador para o servidor |
Você pode obter um identificador de uma das seguintes origens:
Código de Retorno | Descrição |
NetGetHostName | Retorna o nome (ou ID da máquina) do servidor associado ao identificador |
Nota: $Unknown será
retornado se ocorrer um erro ou nenhum servidor estiver associado a um identificador.
Retorna o endereço IP da máquina local, conforme comunicado pelo método de resolução de nome IP padrão (em geral, DNS ou o arquivo do host).
FUNCTION NetGetLocalAddress : STRING;
Se a configuração da rede possuir discrepâncias, esta função poderá não comunicar o endereço configurado para a máquina. Se o host possuir endereços múltiplos, ele comunicará aquele conhecido do DNS ou o arquivo do host.
Retorna desconhecido com erro.
NetGetService retorna a cadeia de nomes do serviço de rede associada a uma conexão.
FUNCTION NetGetService ( VAL hndlHost: NETCONNECTION ): STRING:
Nome do Argumento | Descrição |
hndlHost | O identificador para o servidor |
Você pode obter o identificador a partir de um NetConnect ou de um parâmetro $Handle para uma rotina de tratamento de eventos atendida por NetListen, NetAccept ou NetRegister. (NetGetService não retorna a parte de porta de uma especificação de serviço.)
Código de Retorno | Descrição |
NetGetService | Retorna o nome do serviço associado ao identificador |
Nota: $Unknown será
retornado se ocorrer um erro ou nenhum servidor estiver associado a um identificador.
NetListen registra uma rotina de tratamento de eventos genérica para processar pedidos de clientes.
FUNCTION NetListen( EventHandler EVENT): INTEGER:
Nome do Argumento | Descrição |
EventHandler | Uma rotina de tratamento de eventos do tipo NetConnection que processa pedidos de um cliente |
Pedidos de Serviço
Uma rotina de tratamento de eventos NetListen receberá pedidos de serviços se não houver nenhum serviço NetRegister ou curinga correspondente. Uma segunda chamada para NetListen substitui a rotina de tratamento de eventos e dados de ocorrência por novos dados de ocorrência.
Toda vez que uma nova conexão é aberta para a rotina de tratamento de eventos NetListen, uma $MsgNetConnect é enviada para a rotina de tratamento de eventos NetListen.
Uma rotina de tratamento de eventos NetListen possui um conjunto de dados de ocorrência compartilhados para todas as conexões abertas para ela. A rotina de tratamento de eventos recebe uma mensagem $MsgCreate quando é registrada e uma mensagem $MsgDestroy quando tem o registro cancelado.
Chamadas para a rotina de tratamento de eventos NetListen fornecem um identificador para o cliente em $Handle e para a mensagem em $Event.
Quando uma conexão que está sendo tratada por uma rotina de tratamento de eventos NetListen é fechada, a rotina de tratamento de eventos NetListen recebe uma $MsgNetClose para essa conexão.
NetLoopBack envia uma mensagem para uma rotina de tratamento de eventos local que atende uma conexão com uma máquina remota.
FUNCTION NetLoopBack (VAL hndlHost NETCONNECTION VAL message: INTEGER, ANY ... ): INTEGER:
Nome do Argumento | Descrição |
hndlHost | Um identificador para um servidor. O identificador deve ser projetado para uma conexão aberta com uma máquina remota. |
SendMessage
NetRegister registra uma porta de origem da rotina de tratamento de eventos que aceita conexões de clientes da rede. Ao contrário de NetListen, NetRegister pode executar várias rotinas de tratamento de eventos em um servidor, simultaneamente.
FUNCTION NetRegister(EventHandler EVENT, VAL service STRING ): INTEGER:
Nome do Argumento | Descrição |
EventHandler | Processa mensagens do cliente. |
serviço | O nome do serviço que está sendo fornecido pelo servidor. Os nomes de
serviços são limitados a 255 caracteres. Um número de porta para a máquina remota pode ser anexada à cadeia de serviços com a seguinte forma: serviço : nnnn onde nnnn é um número de porta TCP/IP. Caso contrário, a forma é: serviço : nome onde nome é um nome de serviço TCP/IP. |
Ao registrar uma rotina de tratamento de eventos, você especifica o nome do serviço que é fornecido. Se você registrar o serviço como uma cadeia de comprimento zero ou $Unknown, a rotina de tratamento de eventos poderá processar qualquer serviço solicitado.
Ao registrar uma rotina de tratamento de eventos, você também pode associar dados de ocorrência a ela. Esses dados de ocorrência são inicializados para a conexão quando a conexão é aberta. (Especificar a porta como parte do serviço permite que o processo do servidor seja executado em uma única máquina.)
Ativa o rastreamento da rede. Em geral, útil somente na depuração de problemas de aplicativos.
Nota: Um filtro opcional pode ser utilizado com NetTrace para permitir que você especifique que tipo de mensagem deve ser rastreada em vez de receber todas as mensagens. (Por exemplo, é possível que você deseje rastrear apenas mensagens de erro). A sintaxe opcional é mostrada após a sintaxe padrão.
FUNCTION NetTrace( VAL traceFile : STRING ) : INTEGER;
Function NetTrace( VAL fileName : STRING VAL flags : STRING ): INTEGER;
Nome do Argumento | Descrição |
traceFile | Nome do arquivo no qual gravar dados de rastreamento. |
fileName | Nome do arquivo no qual gravar os dados de rastreamento filtrados. |
sinalizadores | Controla quais dados de rastreamento são gravados. Os sinalizadores podem ser um dos seguintes:
|
Pode ser produzida uma grande quantidade de dados.
NetTrace suporta o uso de código exclusivo que reconhece a codificação de caractere de duplo byte em linguagens asiáticas. A variável de ambiente é a seguinte:
SAI_NET_USE_UNICODE
Esta variável fica desativada por padrão.
Tivoli Service Desk 6.0 Developer's Toolkit - Referência de Linguagem do Script