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

TIdTCPServer如何傳送命令給Client端?

答題得分者是:GrandRURU
rexhu
一般會員


發表:4
回覆:1
積分:1
註冊:2010-11-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-11-09 11:40:39 IP:220.136.xxx.xxx 訂閱
機器預設是TCP Client
所以我以TIdTCPSever與它連線,接收資料在Execute處理沒有問題.
但需要不定時命令Client端開始或停止傳送資料,這方面就不知道如何處理了,
麻煩知道的大大不吝指教!!

目前的作法(尚未與機器實測):
void __fastcall TMainForm::IdTCPServer1Execute(TIdContext *AContext)
{
if(_cmd)
{
if(_cmd == 1) //命令送資料
{
................................
}
else if(_cmd == 2) //停送
{
................................
}
}
}
//--------------------------------------------------------------------------------------------
void __fastcall TMainForm::Button2Click(TObject *Sender)
{
_cmd = (_cmd==1)?2:1;
}
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-11-09 14:35:43 IP:203.75.xxx.xxx 未訂閱
在button click事件中下for迴圈,對特定的client發送吧

===================引 用 rexhu 文 章===================
機器預設是TCP Client
所以我以TIdTCPSever與它連線,接收資料在Execute處理沒有問題.
但需要不定時命令Client端開始或停止傳送資料,這方面就不知道如何處理了,
麻煩知道的大大不吝指教!!

目前的作法(尚未與機器實測):
void __fastcall TMainForm::IdTCPServer1Execute(TIdContext *AContext)
{
if(_cmd)
{
if(_cmd == 1) //命令送資料
{
................................
}
else if(_cmd == 2) //停送
{
................................
}
}
}
//--------------------------------------------------------------------------------------------
void __fastcall TMainForm::Button2Click(TObject *Sender)
{
_cmd = (_cmd==1)?2:1;
}
rexhu
一般會員


發表:4
回覆:1
積分:1
註冊:2010-11-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-11-09 15:28:33 IP:220.136.xxx.xxx 訂閱

http://delphi.ktop.com.tw/board.php?cid=168&fid=920&tid=67059
在這篇找到方法了,也感謝GrandRURU大大的解答

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