关于Indy控件----100分的好事情啊!!!!!!!!(100分)

  • 主题发起人 主题发起人 mopege
  • 开始时间 开始时间
M

mopege

Unregistered / Unconfirmed
GUEST, unregistred user!

我想问一个关于Indy控件的事情.Indy那么强大,连kylix都直接把它捎上了,可是为什么它的客户端
TIdTcpClient居然没有OnRead事件呢?我看了Demo,它使用的是一个定时器,定时进行Readstring.
我现在想要达到的是:当TCP缓冲中一有数据,就立刻触发某一个事件,请问这样可能吗?
另外,delphi自带的TClientSocket控件倒是有Onread时间,那么本质上它又是怎样实现从TCP缓冲
中读数据的呢?也是使用循环检测的方式么?
迷惑...
 
看一下tclientsocket的源代码吧
 
有没有高手能够指点迷津啊?可以让我迅速脱离苦海的?
 
因该有的
 
刚刚查阅了大富翁离线数据库,原来以前也有人问过这个问题的.没有人能够解决,看来indy
不是用来做实时通信的料.可惜了多线程功能...
莫非要我自己来封装一个API?
 
tclientsocket挺好用的阿,有数据可读就会触发onread事件的,
我用过
 
在OnWork里面作。
 
OnWork里面没事情可做,收到数据时没有触发该事件,现在该怎么办呢?
 
Indy是基于套接字阻塞模式的,接收到数据时OnWork事件能够触发的
我个人看来indy比较适合多线程的中执行
看我网站上有相关的代码
用IdHTTP
http://codehunter.51software.net
 
CodeHunter说得对
 
还是不行啊.
算了,感谢大家的帮助,我到国外的新闻组去看了,好像也没有什么解决的好办法.
我只有用一个替代的方法了,那就是用一个线程拼命循环的读,反正也有antifreeze控件可以
帮忙.
至于codehunter,你的网站我去看了,很不错的啊,内容丰富,很是用心.不过,我没有找到你说的东西.
你能不能给我发个邮件过来呢?
gelinhui@sina.com.cn
3ku
 
后退
顶部