我想在我的局域网中发送广播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上运行多个侦听器.