Beispiel für eine zugeordnete Konversation
Hintergrundinformationen zu zugeordneten Unterhaltungen finden Sie unter Basic and Mapped Conversations Vergleich.
Das folgende Beispiel einer zugeordneten Unterhaltung zeigt die APPC-Verben, die zum Starten einer Konversation, zum Austauschen von Daten und zum Beenden der Unterhaltung verwendet werden. APPC-Verbparameter befinden sich in Klammern.
Ausgestellt vom aufrufenden TP | Ausgestellt vom aufrufbaren TP |
---|---|
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 |
In den folgenden Absätzen werden die Verben beschrieben, die in einer zugeordneten Unterhaltung verwendet werden.
Verben zum Starten einer zugeordneten Unterhaltung
Um eine zugeordnete Unterhaltung zu starten, gibt der aufrufende TP die folgenden Verben aus:
TP_STARTED, die APPC benachrichtigt, dass der lokale TP eine Konversation beginnt.
MC_ALLOCATE, der anfordert, dass APPC eine Konversation zwischen dem lokalen TP und dem Partner-TP einrichten soll.
Das aufrufbare TP gibt RECEIVE_ALLOCATE aus, wodurch APPC informiert wird, dass es bereit ist, eine Konversation mit dem aufrufenden TP zu beginnen.
Verben zum Senden von Daten in einer zugeordneten Unterhaltung
MC_SEND_DATA legt einen Datensatz (einen Datensatz mit zu übertragenden Anwendungsdaten) in den Sendepuffer der lokalen LU. Die Datenübertragung an den Partner-TP erfolgt erst dann, wenn eines der folgenden Ereignisse auftritt:
Der Sendepuffer füllt sich.
Das sendende TP gibt ein Verb aus, das APPC zwingt, den Puffer zu leeren und Daten an den Partner-TP zu senden.
Im vorherigen Beispiel enthält der Sendepuffer sowohl den Datensatz als auch die MC_ALLOCATE-Anforderung (die dem Datensatz vorangestellt ist). Daher leert MC_DEALLOCATE im Beispiel den Puffer und sendet die MC_ALLOCATE Anforderung und den Datensatz an den Partner-TP. Andere Verben, die den Puffer leeren, sind MC_CONFIRM und MC_FLUSH.
Verben für den Empfang von Daten in einer zugeordneten Unterhaltung
Das MC_RECEIVE_AND_WAIT Verb ermöglicht es einem TP, einen Datensatz oder status Informationen zu empfangen. Wenn derzeit keine Daten verfügbar sind, wartet der TP auf das Eintreffen der Daten. Geben Sie für Windows-Systeme MC_RECEIVE_AND_WAIT in Verbindung mit WinAsyncAPPC anstelle der blockierenden Version dieses Aufrufs aus.
Im Beispiel gibt der empfangende TP MC_RECEIVE_AND_WAIT zweimal aus. Beim ersten Mal wird das Verb ausgegeben, um Daten zu empfangen. Wenn der empfang des vollständigen Datensatzes abgeschlossen ist (what_rcvd ist AP_DATA_COMPLETE), wird erneut MC_RECEIVE_AND_WAIT ausgegeben, um einen Rückgabecode zu erhalten. Der Rückgabecode AP_DEALLOC_NORMAL gibt an, dass die Konversation zugeordnet wurde.
Hinweis
MC_RECEIVE_IMMEDIATE die gleiche Funktion wie MC_RECEIVE_AND_WAIT ausführt, mit der Ausnahme, dass sie nicht wartet, wenn derzeit keine Daten vom Partner-TP verfügbar sind. Stattdessen wird eine Antwort ohne Datenverfügbarkeit an den aufrufenden TP zurückgegeben.
Verben zum Beenden einer zugeordneten Unterhaltung
Um eine zugeordnete Unterhaltung zu beenden, MC_DEALLOCATE eines der TPs-Probleme, was dazu führt, dass APPC die Konversation zwischen den beiden TPs zuordnet.
Nachdem die Konversation zugeordnet wurde, stellen beide TPs TP_ENDED.
Hinweis
Ein TP kann gleichzeitig an mehreren Unterhaltungen teilnehmen. In diesem Fall TP_ENDED die TP-Probleme, nachdem alle Unterhaltungen zugeordnet wurden.