ホストとの会話は半二重会話です。そのため、ホスト基本会話機能かホスト拡張会話機能かによって送信権の扱いが異なります。
コネクション確立後は、パソコンから会話を開始します。ホストとパソコンの間で送信権を持ちまわりながら会話を行います。
コネクション確立後は、ホスト、パソコンのどちらからでも会話を開始できます。
ホストアプリケーションをパソコンから起動します。このとき最大32767バイトのメッセージデータを送信できます。
また、同一のアプリケーションから複数のホストアプリケーションに対してDPCBEGINを実行できます。
ホストアプリケーションからのレスポンスは、DPCACCEPTで受信します。
ホストアプリケーションの起動ができなかった場合もDPCACCEPTでレスポンスを受信します。
DPCBEGIN実行後は、ホスト基本会話機能とホスト拡張会話機能を使用している場合で送信権の扱いが異なります。
送信権はホストに移り、パソコンは受信状態(送信権を持たない状態)となります。
この状態では、DPCEND、DPCTRANSFERは使用できません。
送信権の移行は、送信権情報パラメータの指定により異なります。
送信権なし指定でDPCBEGINを実行したとき
送信権はパソコンにあり、送信状態(送信権を持つ状態)になります。
送信権あり指定でDPCBEGINを実行したとき
送信権はホストに移り、パソコンは受信状態になります。
会話終了をホストアプリケーションに通知します。最大32767バイトのメッセージデータを送信できます。DPCEND実行後、他のホストアプリケーションと会話を行いたい場合は、DPCBEGINにより会話を開始できます。
また、ホストとの通信を終了する場合は、DPCDISCONNECTを実行します。
DPCENDは、パソコンが送信状態のとき使用できます。
会話の強制終了をホストアプリケーションに通知します。このとき理由コードを指定できます。
これによりアプリケーション間の会話が終了します。ホストアプリケーションには、会話強制終了が通知され、同時にその理由コードも通知されます。
DPCABORTは、送信権の有無に関係なく使用できます。
メッセージデータをホストアプリケーションに送信します。最大32767バイトのメッセージデータを送信できます。この機能は、パソコンに送信権がある場合のみ使用できます。
DPCTRANSFER実行後は、ホスト基本会話機能とホスト拡張会話機能を使用している場合で送信権の扱いが異なります。
送信権はホストに移り、パソコンは受信状態となります。
この状態で、DPCEND、DPCTRANSFERを使用することはできません。DPCTRANSFERが正常終了すれば、アプリケーションはDPCACCEPTを実行し、ホストアプリケーションからのレスポンスを待ちます。
送信権の移行は、送信権情報パラメータの指定により異なります。
送信権なし指定でDPCTRANSFERを実行したとき
送信権はパソコンにあり、送信状態になります。
送信権あり指定でDPCTRANSFERを実行したとき
送信権はホストに移り、パソコンは受信状態となります。
DPCライブラリからの制御情報、およびホストアプリケーションから最大32767バイトのメッセージデータを受信できます。また、ホスト拡張会話機能使用時は、ホストアプリケーションからの会話開始を受信できます。
DPCACCEPTは、通常パソコンが受信状態のときに行います。
DPCACCEPT実行後のパソコンの状態は次のようになります。
受信状態でDPCACCEPTを実行したとき
パソコンは送信状態になります。
メッセージデータの受信は正常終了しています。
送信状態でDPCACCEPTを実行したとき
パソコンの送信権がホストに移り、パソコンは受信状態になります。
0バイトのメッセージデータの受信が正常終了しています。
●DPCPCONTROL(送信権の要求)-ホスト拡張会話機能使用時のみ
送信権の要求をホストアプリケーションに通知します。
DPCPCONTROLは、通常パソコンが受信状態のときに行います。
DPCPCONTROL実行後のパソコンの状態は、次のようになります。
ホストアプリケーションから送信権が委譲されたとき
パソコンは送信状態になります。
ホストアプリケーションが送信権の委譲を拒否したとき
パソコンは受信状態のままで、ホストからのメッセージ待ちになります。メッセージ受信後は送信状態になります。
●DPCGCONTROL(送信権の委譲)-ホスト拡張会話機能使用時のみ
送信権をホストアプリケーションに委譲します。
DPCGCONTROLは、通常パソコンが送信状態のときに行います。
DPCGCONTROL実行後のパソコンの状態は受信状態になります。
●DPCSYNC(アプリケーション間の会話同期要求)-ホスト拡張会話機能使用時のみ
DPCSYNCは、連続送信後にアプリケーション間で同期をとりたい場合に使用します。DPCSYNCは通常パソコンが送信状態のときに行います。
DPCSYNC実行後のパソコンの状態は、次のようになります。
ホストアプリケーションから肯定応答(ACK)を受信したとき
パソコンは送信状態のままです。
ホストアプリケーションから否定応答(ERROR)を受信したとき
パソコンは受信状態になり、ホストからのメッセージ待ちになります。
●DPCACK(アプリケーション間の会話同期要求の肯定応答)-ホスト拡張会話機能使用時のみ
DPCACKは、DPCSYNCのアプリケーション間での会話同期に対する肯定応答として使用します。DPCACKは、通常パソコンが送信状態のときに行います。
●DPCERROR(アプリケーション間の会話同期要求の否定応答)-ホスト拡張会話機能使用時のみ
DPCERRORは、DPCSYNCのアプリケーション間での会話同期に対する否定応答として使用します。また、DPCERRORは、ホストのアプリケーションに対して、異常を通知する場合にも使用できます。DPCERRORは、通常パソコンが送信状態のときに行います。