全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1698
推到 Plurk!
推到 Facebook!

各位大师,用indy9写通讯程序,如何实现随时取消等待状态?

尚未結案
sdshw
一般會員


發表:8
回覆:11
積分:3
註冊:2008-03-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-03-29 16:08:26 IP:112.112.xxx.xxx 訂閱
各位老师:
用indy9写的通讯程序,如何实现下列需求:

client 向 server 发送请求,然后等待应答,
5秒钟无应答视为超时
等待应答过程中client能随时取消等待状态

前提:不能用ReadLn,client与server之间是长连接

sdshw
一般會員


發表:8
回覆:11
積分:3
註冊:2008-03-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-03-30 12:55:16 IP:112.112.xxx.xxx 訂閱
说白了就是indy中好像除了ReadLn有超时参数,其他的ReadBuffer之类的都没有这个参数
比如 ReadBuffer的时候一直处于阻塞状态,我如何才能取消呢
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-07-14 17:40:24 IP:210.242.xxx.xxx 訂閱
請列出你的元件屬性與程式碼作為參考才好找出問題點
很久沒寫 Indy 相關的程式
之前是寫刷卡鐘的資料下載程式
印象中 ReadLn 與 ReadBuffer 的程式處理方式概念是不同的
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
zhweizw
一般會員


發表:7
回覆:16
積分:9
註冊:2008-01-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-08-04 15:01:17 IP:58.218.xxx.xxx 訂閱
不明白你这样做目的是什么?请说明白你想做什么,也许可以换个思路。
一般,Client端读取数据都放在单独一个线程里面做,这样不会影响主线程处理Windows消息,阻塞的是子线程而已。
如果非要做一个超时检查的话,可以监控子线程,超时就kill掉。
===================引 用 sdshw 文 章===================
各位老师:
用indy9写的通讯程序,如何实现下列需求:

client 向 server 发送请求,然后等待应答,
5秒钟无应答视为超时
等待应答过程中client能随时取消等待状态

前提:不能用ReadLn,client与server之间是长连接

系統時間:2024-04-20 20:39:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!