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

關於Indy的IdIPMCastClient的Bindings屬性問題?

缺席
sixblack
一般會員


發表:3
回覆:3
積分:1
註冊:2005-09-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-05 08:04:30 IP:140.132.xxx.xxx 未訂閱
我想請教二個問題;我在使用IdIPMCastClient/Server寫了一個傳字串的測試, 可是出了二個問題, 一、我在物件檢視窗設定了client的Bindings屬性,可以成功傳,但是將其0-    TSocketHandles刪除,在client的FormCreate內加入      
     AnsiString szip="140.X.X.X";
     IdIPMCastClient1->Bindings->Items[0]->ClientPortMax=10;
     IdIPMCastClient1->Bindings->Items[0]->ClientPortMin=1;
     IdIPMCastClient1->Bindings->Items[0]->IP=szip;
     IdIPMCastClient1->Bindings->Items[0]->Port=4000; 
     
無法成功傳該字串,請問各位大大是那裡出錯? 二、設定位址部分如果本機測試用127.0.0.1設定sever端ip也無法成功接收, 且要連上網路才能編譯成功,很直覺的不知是為什麼?? 麻煩各位了!! server
 
//---------------------------------------------------------------    void __fastcall TForm1::FormCreate(TObject *Sender)
{
 IdIPMCastServer1->Active=false;
 IdIPMCastServer1->Port=4000;
 Memo1->Clear();         
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdIPMCastServer1->Active=true;
Memo1->Lines->Add("sending...String(test)...");
TStringStream *ms=new TStringStream(NULL);
AnsiString sz="test";
ms->Write(&sz,sizeof(sz));
IdIPMCastServer1->Send(sz);
Memo1->Lines->Add("sending over...String(test)...");
}
//-------------------------------------------------------------------
client
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Clear();
IdIPMCastClient1->DefaultPort=5000;
//AnsiString szip="140.X.X.X";
IdIPMCastClient1->Active=true;
//IdIPMCastClient1->Bindings->Items[0]->ClientPortMax=10;
//IdIPMCastClient1->Bindings->Items[0]->ClientPortMin=1;
//IdIPMCastClient1->Bindings->Items[0]->IP=szip;
//IdIPMCastClient1->Bindings->Items[0]->Port=4000;
}
//-------------------------------------------------------------------    void __fastcall TForm1::IdIPMCastClient1IPMCastRead(TObject *Sender,
      TStream *AData, TIdSocketHandle *ABinding)
{
TStringStream *ms =new TStringStream(NULL);
ms->CopyFrom(AData,AData->Size);
Memo1->Lines->Add(ms->DataString);
}
發表人 - sixblack 於 2005/10/05 08:18:47 發表人 - sixblack 於 2005/10/05 17:42:40
sixblack
一般會員


發表:3
回覆:3
積分:1
註冊:2005-09-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-07 22:51:41 IP:140.132.xxx.xxx 未訂閱
在這裡先謝過各位先進了,我先將其結案,再去找找答案。如不行再請教!
sixblack
一般會員


發表:3
回覆:3
積分:1
註冊:2005-09-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-10 22:21:30 IP:140.132.xxx.xxx 未訂閱
又是我,我想要表達的是如何以敘述來設定IdIPMCastClient的bindings屬性,而不是在object inspector設死,這樣可以讓我方便變更server端的機台,在其IdIPMCastClient->DefaultPort=XXXX設定也可以解決,但是就變成廣播了,而我想要達到的是multicast,請教各位先進要如何解決。
系統時間:2024-04-20 15:47:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!