IcomLUO.Receive 方法

在 LU0 會話中接收出站資料。

語法

  
void Receive(  
   int timeout,  
   ref int datasize,  
   out int indication,  
   out short seqno,  
   ref System.Array data  
)  

參數

價值 說明
timeout 執行緒能等待資料到達的時間(以毫秒計)。

透過設定 dataSize,你可以表示應用程式是否願意在逾時後接受部分資料。

輸入0xffffffff howLong 表示無限長的時間。
datasize 應用程式願意接受的最大資料量。

如果 dataSize 在逾時前收到資料位元組,Receive 會回傳部分鏈。

當此方法回傳時,包含資料緩衝區中存在的位元組數。
indication 一個或多個位元或 OR 標誌,包含關於出站資料流的額外資訊。 如需詳細資訊,請參閱一節。
seqno 當此方法回傳時,包含鏈的 SNA 序列號。

若NEG_RESPONSE設於 indication, seqno 則可能包含主機回應所傳送的鏈序號。

回傳的 seqno 值可用於 IcomLU0.SendResponse 中傳送 SNA 回應。
data 一個包含要接收資料的陣列。

傳回值

價值 說明
S_OK 完整或部分鏈的其餘資料會被接收到資料緩衝區。
CLU0_S_PARTIAL_CHAIN 部分資料鏈被接收到資料緩衝區。
CLU0_S_TIMEOUT 在指定的逾時內未收到任何資料。

你應該再發出一次接收通知。
CLU0_E_SESSIONFAILURE LU0 會話失敗了。
CLU0_E_SERVER_FAILURE TSS 會話已不再有效。

應用程式應該會釋放會話句柄。
CLU0_E_WAITING 另一個執行緒已對此方法發出 Receive 呼叫,但尚未回覆。
CLU0_E_SESSION_FAILED 底層的 SNA 會話失敗,可能是因為連結中斷或其他暫時性故障。

你必須要麼斷開連線並釋放伺服器會話。 或者,您也可以呼叫 IcomLU0.Offline 重設會話,然後呼叫 IcomLU0.Online 來重新啟動會話。
CLU0_E_NOTCONNECTED comLU0 用戶端並未透過呼叫 Icom3270.Connect 連接到任何工作階段。
CLU0_E_BADPARAM 其中一個參數包含無效值。
CLU0_E_SYSERROR 該方法因內部錯誤而失敗。

例外狀況

備註

通常,Receive 會區塊,直到完整的 SNA 資料鏈可用為止。 然而,應用程式可以透過 、 maxData、 incompleteData和 來控制區塊howLong。

僅接收應用層級資料。 具體來說,接收不會回傳 SNA 的 TH 和 RH 標頭。

下表描述的 indication可能值。

價值 說明
SESSION_STARTED 下列其中一項:

- SSCP 發起的會話已被啟動。
- 一個被 CLEAR 重置的會話已被 SDT 重新啟動。
- 先前收到UNBIUND的會話已被BIND與SDT重新啟動。
BEGIN_BRACKET 主持人開始了新的對陣表。
END_BRACKET 主持人終止了目前的對陣表。
SEND 主機已經允許發送。
DATA_COMPLETE 資料代表完整的資料鏈或資料鏈的終點。
DATA_INCOMPLETE 這些資料代表不完整的資料鏈。
取消 主持人的最後一條鏈被取消了。
NO_RESPONSE 應用程式不應該對資料發送回應。
EXCEPTION_RESPONSE1/2 申請方可能會發出拒絕資料的負面回覆,或禮貌性地回覆。
DEFINITE_RESPONSE1/2 應用程式必須對資料發送回應。
POS_RESPONSE 主持人回覆了正面的訊息。
NEG_RESPONSE 主持人回覆了否定。
EXR_REQUEST SNA 伺服器將主機請求轉換成例外請求。
追逐 主持人要求將所有未完成的回覆都送出。
NORMAL_DATA 資料在正常資料流中接收。
EXPEDITED_DATA 資料透過加速資料流接收。
APPL_DATA 這些資料為應用(FMD)資料。
FM_DATA 這些資料屬於功能管理(FMH)資料。
LU_DATA 資料是在 LU 會話中接收的。
SSCP_DATA 資料是在SSCP會話中接收的。
CLEAR 主持人已經通過了這場遊戲。
安靜 主持人已經暫停了這場遊戲。
SHUTDOWN 主持人正在關閉這場遊戲。
釋放 主機取消了靜止或關機狀態。
解綁 主持人解除了 LU-LU 的綁定。

另請參閱

IcomLU0 方法
LU0 的會話整合器