救命啊,有关Indy TIdUDPserver 控件接收数据问题

liudong963 2004-04-05 08:51:25
不知道大家又没有遇到过这样得问题,我在Form的OnCreate事件中编写下面代码动态设置TIdUDPserver 控件:

UDPServer.DefaultPort:=iPort;
UDPServer.Active:=true;

为什么有时候TIdUDPserver 控件无法接收数据包,即OnUDPRead事件没有任何响应,这是为什么?通过程序调试绝对排除了客户端发送原因。

iPort是由另外一个TIdUDPserver使用完已经使用Free释放出来的端口,应该可以排除了iPort被占用的可能性吧?!


有时候把程序重启又可以,实在不解!

...全文
199 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bitter 2004-09-16
  • 打赏
  • 举报
回复
我也遇到类似的问题,用CommView监视有数据,就是不触发OnRead?
本地LoopBack测试却是好的.
lqdmafeng 2004-06-29
  • 打赏
  • 举报
回复
关闭的时候IdUdpServer.bindings.clear;
qi7 2004-06-29
  • 打赏
  • 举报
回复
TIdAntiFreeze是用来响应用户操作的。
为什么要用多个idudpserver,一个不正好解决问题吗?
一直监听iport端口不就行了。
Hylas 2004-06-29
  • 打赏
  • 举报
回复
我也奇怪这样 的 问题
Tdm.AudpUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
这个事件一点反应也 没有,
用TIdUDPserver的DEMO程序,却好 好的 ,
然后不 知道 DEMO中放TIdAntiFreeze干吗?

cobi 2004-04-05
  • 打赏
  • 举报
回复
最好不要这样处理吧——iPort是由另外一个TIdUDPserver使用完已经使用Free释放出来的端口

给你不同的TIdUDPserver分配不同的端口好一点

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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