Condividi tramite


Un esempio di conversazione mappata

Per informazioni in background sulle conversazioni mappate, vedere Confronto tra conversazioni di base e mappate.

L'esempio seguente di una conversazione mappata mostra i verbi APPC usati per avviare una conversazione, scambiare dati e terminare la conversazione. I parametri verbi APPC sono tra parentesi.

Rilasciato dal TP richiamato Rilasciato dal TP richiamabile
TP_STARTED
MC_ALLOCATE
MC_SEND_DATA
MC_DEALLOCATE
TP_ENDED RECEIVE_ALLOCATE
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(rtn_status=AP_NO)
(what_rcvd=AP_DATA_COMPLETE)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_DEALLOC_NORM)
TP_ENDED

I paragrafi seguenti descrivono i verbi usati in una conversazione mappata.

Verbi per l'avvio di una conversazione mappata

Per avviare una conversazione mappata, la chiamata di TP genera i verbi seguenti:

  • TP_STARTED, che notifica all'APPC che il TP locale inizia una conversazione.

  • MC_ALLOCATE, che richiede che APPC stabilisca una conversazione tra il TP locale e il TP partner.

    I problemi TP richiamabili RECEIVE_ALLOCATE, che informa appC che è pronto per iniziare una conversazione con il TP richiamato.

Verbi per l'invio di dati in una conversazione mappata

MC_SEND_DATA inserisce un record di dati (un record contenente i dati dell'applicazione da trasmettere) nel buffer di invio dell'LU locale. La trasmissione dei dati al partner TP non si verifica finché non si verifica uno degli eventi seguenti:

  • Il buffer di invio riempie.

  • L'invio TP rilascia un verbo che impone all'APPC di scaricare il buffer e inviare dati al partner TP.

    Nell'esempio precedente, il buffer di invio contiene sia il record di dati che la richiesta di MC_ALLOCATE (che precede il record di dati). Pertanto, nell'esempio MC_DEALLOCATE scarica il buffer, inviando la richiesta di MC_ALLOCATE e il record di dati al partner TP. Altri verbi che scaricano il buffer sono MC_CONFIRM e MC_FLUSH.

Verbi per la ricezione di dati in una conversazione mappata

Il verbo MC_RECEIVE_AND_WAIT consente a un TP di ricevere un record di dati o informazioni sullo stato. Se non sono attualmente disponibili dati, il TP attende l'arrivo dei dati. Per i sistemi Windows , MC_RECEIVE_AND_WAIT in combinazione con WinAsyncAPPC anziché la versione di blocco di questa chiamata.

Nell'esempio, la ricezione di problemi TP MC_RECEIVE_AND_WAIT due volte. La prima volta, rilascia il verbo per ricevere i dati. Al termine della ricezione del record di dati completo (what_rcvd è AP_DATA_COMPLETE), genera MC_RECEIVE_AND_WAIT di nuovo per ricevere un codice restituito. Il codice restituito AP_DEALLOC_NORMAL indica che la conversazione è stata deallocata.

Nota

MC_RECEIVE_IMMEDIATE esegue la stessa funzione di MC_RECEIVE_AND_WAIT, ad eccezione del fatto che non attende se i dati non sono attualmente disponibili dal partner TP. Restituisce invece una risposta senza dati disponibile alla chiamata TP.

Verbi per terminare una conversazione mappata

Per terminare una conversazione mappata, uno dei problemi di TP MC_DEALLOCATE, che causa la deallocazione della conversazione tra i due indirizzi IP.

Dopo che la conversazione è stata deallocata, entrambi i provider di servizi di sicurezza TP_ENDED.

Nota

Un TP può partecipare contemporaneamente a più conversazioni. In questo caso, i problemi TP TP_ENDED dopo che tutte le conversazioni sono state deallocate.