如何使用TIdUDPServer控件

Jouky1982129 2005-10-15 08:37:20
用过NetMaster的控件的朋友都知道,TNMUDP是一个很好用的控件,只要在APP中加入它,并且写好DataReceive事件,就可以完成UDP数据报的接受工作。但是,TNMUDP有个不要的地方就是,不好实现多线程编程。TIdUDPServer为我们提供了很好的选择,但是我不知道它的具体用法,清问OnDataRead主要负责响应什么。如果,我要让一个TInUDPServer能截获一个UDP数据,并显示出来,应该如何编写程序。
...全文
167 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2005-10-19
  • 打赏
  • 举报
回复
http://popbbs.yesky.com/topic/148/287657.html
shadowstar 2005-10-15
  • 打赏
  • 举报
回复
下面是BCB6带的Indy的写法,不一定正确,大概是这样的:

void __fastcall TForm1::OnUDPRead(TObject *Sender, TStream* AData, TIdSocketHandle* ABinding)
{
AnsiString ReadText;

ReadText.SetLength(AData->Size);
AData->Read(&ReadText[1], AData->Size);
ShowMessage(ReadText);
}
shadowstar 2005-10-15
  • 打赏
  • 举报
回复
各版的TIdUDPServer略有不同,不过大致是Read事件表示接收到了数据,可以给事件写代码显示接收到的数据。

下面是Indy 10的做法,其它版本类似:

OnUDPRead(Sender: TObject; AData: TIdBytes; ABinding: TIdSocketHandle)
begin
ShowMessage(string(AData));
end;

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧