INDY INDY INDY ! ( 积分: 10 )

  • 主题发起人 主题发起人 hfutzhu
  • 开始时间 开始时间
H

hfutzhu

Unregistered / Unconfirmed
GUEST, unregistred user!
for k :=0 to count - 1 do
begin
TidPeerThread(IdTcpServer.Threads.LockList.Items[k]).Connection.WriteBuffer(sbuf,j+1);
end;
finally
idtcpserver.Threads.unLockList;
end;
只要执行这个,停止INDY服务再打开服务 就没法检测到客户端了,但是客户端又是上线的????怎么回事情!好多天啦!
 
没人回答,伤心!我把这个屏蔽掉,停止,打开,停止,打开都没什么错的!一发数据,停止服务,再打开服务,就没法获取客户端了!
 
还是没人帮我啊?RESET服务怎么回事?
 
你的用法有问题,你不应该直接去操作Indy的线程类,而是给线程的关联对象(如User)增加一个Command的机制,当你要操作什么的时候,把Commmand发送给User,然后在OnExecute里面检测User的Command,有了就执行之。Indy的线程类有自己的管理方法,而且一个线程并不绝对对应于一个具体的客户端,因为如果你用的是线程池管理对象,则线程会在客户端离开后,放入池内缓存,等待下一个连接的时候重复使用的。2ccc.com打不开,回头你自己去找一下我发上去的例子,用Indy作为关键字搜一下就能搜到,名字里面有个“反向通讯”还是“反向...”什么的(代码发的久了,自己也不记得名字了),自己去找吧。
 
好的 谢谢了!只有那么点分,实在是穷啊!
 
后退
顶部