indy组件页里的TIdUdpClient可以发送数据给TIdUdpServer接收,但它如何接收TIdUdpServer发送来的数据呢,它没有类似receive或read事件,而只有一个status事件,听有人说用UDP断口侦听,该怎么做?
解决方案 »
- 本人在一家工厂上班,刚中专毕业!正在考虑读不读大专!大家来给点意见!
- 重装Delphi2010时出现错误代码为2343的错误,怎么办?
- 在多线程中用TClientDataSet打开数据表,总是报错:invalid argument
- 如何知道软件在怎么操作数据库?即跟踪后台数据库的操作。
- 我是第一次了解决fastreport控件,有一个简单的问题想问一下
- 这种图形按钮问题怎么处理?
- 关于事件的调用
- 分布式开发Com+问题,高分请高手解答
- 高手们,怎么获取图片的长宽?
- 怎样实现treeview的复选框 (10points)
- delphi中用Richtext控件写入sql server的一个Text字段,用Asp读取时不能正常显示,何解?
- 怎么解决三层应用程序死机的问题?
TIdUdpServer 接受端+发送端
与TIdTcpClient TIdTcpServer是有区别的你直接用TIdUdpServer 就可以了
TIdUdpServer 用做发送端和TIdUdpClient 比起来有啥不同呢
DataStringStream: TStringStream;
s: String;
AD:Tstream,
Msg:TSendMSg;
begin
New(msg);
DataStringStream := TStringStream.Create(''); try
UDPMemo.Lines.AddStrings(GetpreceptList);
DataStringStream.CopyFrom(AData, AData.Size); UDPMemo.Lines.Add(DataStringStream.DataString + ' IP£º' + ABinding.PeerIP + ' port£º ' + IntToStr(ABinding.PeerPort));
s := 'ÒÑÊÕµ½: ' + UDPServer.LocalName +'·¢µÄ: '+ DataStringStream.DataString;
ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s));
finally
DataStringStream.Free;
end;