Delphi TIdIPMCastClient および TIdIPMCastServer でのマルチキャスト送受信
Delphi TIdIPMCastClient と TIdIPMCastServer を利用したマルチキャスト送受信
最小コード
サーバ(送信側)
フォームへ IdIPMCastServer1, Edit1, Button1 を置く
uses IdGlobal;
procedure TMultiCastServerForm.Button1Click(Sender: TObject);
begin
IdIPMCastServer1.Send(Edit1.Text, IdGlobal.IndyTextEncoding_UTF8);
end;
procedure TMultiCastServerForm.FormCreate(Sender: TObject);
begin
IdIPMCastServer1.MulticastGroup := '224.0.0.1';
IdIPMCastServer1.Port := 5000;
IdIPMCastServer1.Active := True;
end;クライアント(受信側)
フォームへ IdIPMCastClient1, Memo1 を置く
uses IdGlobal;
procedure TMulticastClientForm.FormCreate(Sender: TObject);
begin
IdIPMCastClient1.MulticastGroup := '224.0.0.1';
IdIPMCastClient1.DefaultPort := 5000;
IdIPMCastClient1.Active := True;
end;
procedure TMulticastClientForm.IdIPMCastClient1IPMCastRead(Sender: TObject; const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
Memo1.Lines.Add(IdGlobal.IndyTextEncoding_UTF8.GetString(AData));
end;
終了時(IdIPMCastClient1.Active := False;)で例外が発生するようなので補足するべきかも
コメント