有個問題請教大家, 我之前有套上位機和終端設備通訊的程式使用的是串口通訊,現在終端改成了TCP的。上位機發送指令給下位機,下位機回復資料給上位機。串口通訊時寫的程式是把發送和接受都寫入了一個函式中。一問一答的方式。通過判斷下位機回傳的資料來判斷下位機是否執行正確。現在我寫TCP的也如法炮制。發送和接收也都寫在一個函式中(Sendbuffer,和Writebuffer的方法)。發送和接收都沒有問題。可是下位機發送disconnect指令時,上位機的idTCPserver的disconnect事件沒有觸發。網上查了一下,網友也出現過這個問題說是idTCPserver 接收資料要在idTCPserver的EXECUTE中寫。如果EXECUTE中無接收代碼,就不會回應disconnect。 可是我的一問一答的指令集很多,以前的發送接收函式都已經寫好了。如果要放著EXECUTE中寫作業量很大而且分支也很多。有高手能給個解決方案嗎。 另外我是用的delphi7 寫的程式(以前的程式是delphi7寫的),id控制元件是自帶的9版本。這個控制元件bug多嗎。看網上有人說9版本的通訊有時出問題
uj5u.com熱心網友回復:
沒有人關注delphi了嗎uj5u.com熱心網友回復:
移到EXECUTE中困難,說明你的代碼寫的擴展性不好,你甚至可以把讀寫單獨封裝成一個類,不管在哪里呼叫,只需傳入需要的引數即可,所以你可以趁此機會重構代碼,而不是,抱怨沒法整合轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77489.html
標籤:網絡通信/分布式開發
