TServerSocket中的TCP/IP sync 與sync_ack |
尚未結案
|
zre
一般會員 發表:1 回覆:4 積分:1 註冊:2005-05-30 發送簡訊給我 |
各位前輩好:
小弟寫了一個有TserverSocket元件的程式,期望的程式動作如下: (1)Client ---> Server(TServerSocket)
(2)Server程式丟出message叫Client 做硬體test
(3)Client做完動作,回傳test結果給Server
(4)最後按下一個button做 ServerSocket->Close();ServerSocket->Open();
原因在於,Client機器會用拔Power插頭的方式斷線,為避免發生async socket error故設計一個按鈕做降的動作!然後再接續(1)的動作
====================================================================
但現在問題在於,如果我的程式是第一次開啟執行的話,client端很快就連上server等我丟msg做test,也能成功回傳結果給我!最後再按下button以讓ServerSocket回到剛open的狀態 ;
這時Server程式(Server AP要一直開著)要等待第2台client連上來..這時就會發生要等個1分鐘的時間Client才連的上Server的socket,而不像第一台可以馬上連上!但如果每次都去關掉Server AP再開啟,都一定是馬上連上~~
後來去查看封包的內容,發現等候很久的情況似乎是Client傳sync給我,但Server卻不是回傳正確的ack給它,導致無法連上! 但是疑惑的是.為什麼等了近一分鐘卻又連上了? 有人跟我說試著去清空Server socket的cache,以免回傳錯的ack,可是我查看ServerSocket可用的func,似乎沒有關於cache的func可用,如果哪位高手知道有類似的方法或是可能可以解決我問題的方法 希望不吝教導小弟..
感謝~~ 感謝各位前輩們花時間看完問題,如有好的建議給我 感激不盡~~ 發表人 - zre 於 2005/10/07 19:36:43
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
zre:
試試看改成使用indy的元件.我本來也是用borland所附的Socket元件.但最後我改成了indy元件.
http://delphi.ktop.com.tw/topic.php?topic_id=77164
如果不想使用indy元件.在server程式中的步驟4的button動作下將close跟open的動作分離試試看.
|
zre
一般會員 發表:1 回覆:4 積分:1 註冊:2005-05-30 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
zre:
1.下載indy
http://www.indyproject.org/indy/downloads/Indy_9_00_17_src.zip
2.按照包子大大精闢的說明進行安裝
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182 我個人還是在用9.0.17版本.
|
zre
一般會員 發表:1 回覆:4 積分:1 註冊:2005-05-30 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
|
zre
一般會員 發表:1 回覆:4 積分:1 註冊:2005-05-30 發送簡訊給我 |
引言: zre: 1.下載indy http://www.indyproject.org/indy/downloads/Indy_9_00_17_src.zip 2.按照包子大大精闢的說明進行安裝 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182 我個人還是在用9.0.17版本.你好,我之前有照包子大的文章照著做..但我卡在 (3.7)按「Add」Button,並將檔案指向 C:\Indy\C6\dclIndy60.bpl 這一步..我的C6沒有出現dclIndy60.bpl這個檔...於是我就先不動了.. 我現在先去用bcb內建的indy來改...還在努力中... 謝謝.. |
zre
一般會員 發表:1 回覆:4 積分:1 註冊:2005-05-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |