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

請問將NMUDP改寫用Indy收的問題

尚未結案
edwardweng
一般會員


發表:29
回覆:5
積分:6
註冊:2003-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-03 12:33:44 IP:211.21.xxx.xxx 未訂閱
請問如何將下面NMUDP元件改寫程IdUDPClient, IdUDPServer的寫法 //下列我想把NMUDP接收改寫成IdUDPServer收 procedure TForm1.NMUDP1DataReceived(Sender: TComponent; NumberBytes: Integer; FromIP: String; Port: Integer); var mdata:array[1..65535] of char; data:Pchar; begin if NumberBytes <= 0 then Exit; fillchar(mdata,65535,#0); NMUDP1.ReadBuffer(mdata,NumberBytes); data:=pchar(dword(@mdata)); ACMWaveOut1.Play(data,NumberBytes); end; //以下想用IdUDPClient來發送… procedure TForm1.ACMWaveIn1BufferFull(Sender: TObject; Data: Pointer; Size: Integer); var r,l:integer; mdata:array[1..65535] of char; k:integer; begin if Size<=0 then exit; for k:=1 to size do mdata[k]:=pchar(dword(data) k-1)^; NMUDP1.SendBuffer(mdata,size); end; 請求各位幫忙要如何改才正確。謝謝~~ 活到老,學到老 天天都有新鮮事 若有任何問題,歡迎寫信給我 e-mail: edward@coolboom.com.tw
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-03 14:50:03 IP:61.222.xxx.xxx 未訂閱
我看範例是這樣寫的。
procedure TUDPMainForm.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var
  DataStringStream: TStringStream;
begin
  DataStringStream := TStringStream.Create('');
  try
    DataStringStream.CopyFrom(AData, AData.Size);        UDPMemo.Lines.Add('Received "'   DataStringStream.DataString   '" from '   ABinding.PeerIP   ' on port '   IntToStr(ABinding.PeerPort));
    s := 'Replied from '   UDPServer.LocalName   ' to "'   DataStringStream.DataString   '"';
  finally
    DataStringStream.Free;
  end;
end;
發表人 - wameng 於 2004/12/03 14:54:05
系統時間:2024-07-02 1:37:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!