出现10054错误之后TIdUDPServer无法接收消息?在线等!!!!(300分)

  • 主题发起人 主题发起人 startcn
  • 开始时间 开始时间
S

startcn

Unregistered / Unconfirmed
GUEST, unregistred user!
当使用TIdUDPServer向一个不存在的端口发送消息之后,会触发10054错误.对应此错误有一个win2000的相关bug.见http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q260/0/18.asp&NoWebContent=1 我的问题是,当该错误触发之后,TIdUDPServer就无法接收任何客户端的消息了,也就是说UDPRead事件不会被触发. 操作系统win2000, 请问如何解决,谢谢!! 使用netstat -a观察发现TIdUDPServer对应的udp端口存在
 
刚才试了试,没有这个问题呀,是不是你写的CODE有问题,要不贴出来大家帮你看看。
 
就用delphi自带的demos里面indy目录下udpclientserver那个例子, 把UDPServerMain.pas里面ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s));这句话改成ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort+1, s[1], Length(s)); 这样server会把消息发给一个不存在的端口. 运行后server只能接受一次消息,以后就再也不能接收了
 
安装最新的版本看看 这是个开源项目来的
 
我用的是d6自带的版本,由于一些原因只能用这个版本.不知是否有解决方法?
 
使用fastnet的NMUDP好像没有这个问题,试试
 
最新的版本也是支持 D6 的
http://www.indyproject.org/download/Files/Indy9.html
 
mstar:不是d6支持与否的原因,是其他原因不能使用新版本. 在目前版本的基础上能解决这个问题嘛?
 
后退
顶部