加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在Delphi中发送广播消息

发布时间:2020-12-15 10:12:46 所属栏目:大数据 来源:网络整理
导读:我想在我的局域网中发送广播UDP消息,该应用程序是客户端/服务器. 我希望更新用户界面,这样任何计算机都会发送消息来更新其他人. 我可以使用UDPServer indy,如何使用? 谢谢 解决方法 创建两个应用程序,一个代表发送者,另一个代表接收者. 寄件人 在表单上删除
我想在我的局域网中发送广播UDP消息,该应用程序是客户端/服务器.

我希望更新用户界面,这样任何计算机都会发送消息来更新其他人.
我可以使用UDPServer indy,如何使用?
谢谢

解决方法

创建两个应用程序,一个代表发送者,另一个代表接收者.

寄件人

在表单上删除TIdUDPClient和TButton组件.在按钮的OnClick处理程序上写:

procedure TfrmUDPClient.BroadcastClick(Sender: TObject);
begin
  UDPClient.Broadcast('Test',8090);
end;

接收器

在表单上删除TIdUDPServer,为它定义相同的端口(8090)并将其添加到OnUDPRead处理程序:

procedure TfrmUDPServer.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var
  DataStringStream: TStringStream;
  Msg: String;
begin
  DataStringStream := TStringStream.Create('');
  try
    DataStringStream.CopyFrom(AData,AData.Size);
    Msg := DataStringStream.DataString;
  finally
    DataStringStream.Free;
  end;
  ShowMessage(Msg);
end;

要测试运行两个应用程序并单击按钮.要使用两个或更多“侦听器”进行测试,您必须使用另一台计算机,也就是说,您无法在同一IP上运行多个侦听器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读