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

TCilentSocket 連線錯誤後,無法再啟動

缺席
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-30 12:32:29 IP:61.219.xxx.xxx 未訂閱
__fastcall TForm1:TForm1(TComponent* Owner):TForm(Owner) { FClientSocket=new TClientSocket(NULL); FClientSocket->OnClientSocketError; FClientSocket->OnRead=OnClientSocketRead; FClientSocket->ClientType=ctNonBlocking; FClientSocket->Port=8888; FClientSocket->Host=HostName; } void __fastcall TForm1:Button1Click(TObject* Sender) { FClientSocket->Socket->SendBuf(&MyData,sizeof(MyData)); } void __fastcall TForm1::OnClientSocketError(System::TObject* Sender, TCustomWinSocket* Socket, TErrorEvent ErrorEvent, int &ErrorCode) { ErrorCode=0; } 這些程式碼在連線無錯下都能正常動作 但是一但將主機關掉,第一次SendBuf會進入OnError 可是往後再SendBuf就不會進入了 就算再將主機連線給恢復,還是無法傳送資料,除非程式重新啟動 因為主機隨時都會藉由連線傳回資料(不見得是Client要求),所以無法在每次傳送時再New出來, 該如何解決ㄋ 我看不懂Delphi 能不能用BCB回答
系統時間:2024-05-11 0:31:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!