关于IdTCPServer的问题! ( 积分: 100 )

  • 主题发起人 主题发起人 coolmyf
  • 开始时间 开始时间
C

coolmyf

Unregistered / Unconfirmed
GUEST, unregistred user!
我用IdTCPServer写了server,用ListView列出连上的Client,同时用一个TList维护每一个
Client的Context列表,TList和ListView的列表是相对应的,也就是说ListView中的第n项对应TList中的第n项,我现在想做的是通过选择ListView中的第n项,对第n个Context进行操作,比如发送一个字符串或者传送一个文件。这样的操作可以放在窗体的一个button onclick事件里吗?也就是在OnClick事件中进行SendCmd或者ReadStream/Write(Stream)这样的操作。这样是不是可以,这些操作是不是应该放到相应的OnExecute中呢?在OnExecute中大致应该如何实现相应的代码?
谢谢!
 
可以放到onclick中,但你要自己写双方发送与接受的指令,比如服务端要传文件,先发送请求,客户端回应,并请求文件大小,服务端再发送文件大小,客户端做好接受准备建立缓冲区,服务端开始发送,这些操作是在onexecute中循环判断的,比如
while not terminted do
begin
case cmd of
1://
2://
end;
end;

网上很多代码可以参考
 
同意楼上的!
 
在Indy的新闻组里也问了一下,Remy的回答是建立一个命令队列,在OnClick中向队列里添加命令,在OnExecute里判断并执行.
 
后退
顶部