線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2223
推到 Plurk!
推到 Facebook!

idtcpclient没有断开消息处理?

尚未結案
coolsoft
一般會員


發表:19
回覆:10
積分:5
註冊:2003-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-07 16:24:03 IP:218.18.xxx.xxx 未訂閱
当idtcpclient与TCP服务端连接后,在onconnect可以收到连接事件. 但当tcp服务端断开连接后,收不到ondisconnect事件! 请问这是为什么,有什么解决的办法吗?
malanlk
尊榮會員


發表:20
回覆:694
積分:577
註冊:2004-04-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-08 01:46:34 IP:61.219.xxx.xxx 未訂閱
indy 9, indy 10 都有 OnDisconnected event..
blanka
一般會員


發表:7
回覆:7
積分:2
註冊:2003-01-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-23 15:53:47 IP:60.248.xxx.xxx 未訂閱
雖然此元件本身有Ondisconnect事件但是常常很多時候並無法正確偵測到斷線(譬如說Server突然死掉或是Client端網路線拔掉..etc),推測原因可能是這事件必需Server有送斷線的Message給它才會觸發,我的作法是會起一個Thread造成一無窮回圈不斷的讀Server傳下來的資料且讓他讀不到資料的時候發生Exception在Exception裡面處理斷線 procedure TRecThread.Run; var B: Char; begin try if TCP.Connected then begin while not Terminated do begin B:=ReadChar; end; end; except //在這邊也要處裡斷線 end; end; 吼..吼...吼.... 發表人 - blanka 於 2005/09/23 15:55:57
------
吼..吼...吼....
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-23 16:59:23 IP:222.248.xxx.xxx 未訂閱
Direct test is impossible. Determining if connection still alive you can do only at moment of communicating. If you try send or receive data on broken TCP channel, then error is returned. It is only one way to determine broken TCP channel! ---------------------------- 於Delphi K.Top之上 博采眾家之長, 奉獻綿薄之力 ---------------------------
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-14 17:58:52 IP:219.134.xxx.xxx 未訂閱
最好是由client端做disconnect,server沒事別做此動作,我的解決方法就是由server端發送一個command請求client端離線,client端收到就主動離線,如果真的不能正常離線,才從server端中斷,如果client端的程式還在跑,會發出錯誤訊息Closed by server gracefully ... 許下第一千零一個願望 有一天幸福會聽我的話
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-04-26 13:50:31 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

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