关于Indy里的TIdTCPClient接收数据的问题!(20分)

  • 主题发起人 主题发起人 由由(love)
  • 开始时间 开始时间

由由(love)

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个聊天室,经过考虑决定用TIdTCPClient和TIdTCPServer两个控件,服务器端使用起来还可以,可以客户端接收数据就成了问题,看了好多这方面的例子,基本上都是通过TTimes控件的OnTimer事件里写程序来读取接收到的数据的,我试着这样处理,可是客户端程序一运行就死在那里不动,不知是何原因?

请教:

1、如何正确使用TIdTCPClient控件读取接收到的数据?

2、如果一定要用TTimes控件,请问有什么地方要注意的?怎样才能让客户端程序不死?

3、希望能发一个好的例子给我(yuxi98@sohu.com)!

多谢!!!!
 
我做过聊天室的程序,用TIdUDPClient,TIdUDPServer.还可以。
源码:http://www.efile.com.cn/eFile/kuangcaihui/RCSystemSource.rar
 
做一个客户端接收线程。
 
如果用indy的话用timer是不行的,因为indy是阴塞式的。试想一下。你用timer设定10毫秒执行一次。它发出一个接收数据的请求。但服务器没有数据据发送过来。这时10毫秒过去了。timer又发一个请求。那么你想一下1秒钟内,有多少个接收数据的命令?你的机不死才怪。
 
做线程。老兄!
几天前我和你一样。在CSDN上还跟了你的帖。

做线程来接收数据就对了。
 
后退
顶部