S
szlqr
Unregistered / Unconfirmed
GUEST, unregistred user!
我在开发一个使用到FTP的教学软件,我现在希望学生机(即FTP客户端)在连接后能把某些信息发送到服务端(即FTP SERVER),然后在服务器对信息进行分析,最后把结果返回给学生机
程序大致如下
学生机(使用Indy Client中的 IDFTP控件)
IDFTP1.SendCmd('#MyCommand')
//Mycommand是学生机发出的自定义的一条命令,以#开头,希望服务器对此条命令进行解释
//当发出命令后,是不是必须在服务器返回结果后才能执行下一条命令?
Memo1.lines.add(FTPCLIENT.LastCmdResult.Text.Text);
//在MEMO控件中显示服务器解释回来的结果
在服务端(使用Indy Servers的IDFtpServer控件)的OnBeforeCommandHandler事件中作如下响应
BeforeCommandHandler(ASender: TIdTCPServer;const AData: String; AThread: TIdPeerThread);
Begin
if Adata[1]='#' then //说明是学生机的自定义命令
begin
...... //进行命令处理
Athread.Connection.SendCmd('.....');//把处理结果返回给客户端
end;
end;
我想请问各位高手:
1、用这样的方式来实现合不合适
2、当连接服务器的客户机很多时,必然造成服务器响应慢,我现在想知道当学生机发出 SendCmd后,结果会在什么时候才会回来,有什么方法可以使得当结果没回来时,SendCmd 后面的命令就不能被执行。
程序大致如下
学生机(使用Indy Client中的 IDFTP控件)
IDFTP1.SendCmd('#MyCommand')
//Mycommand是学生机发出的自定义的一条命令,以#开头,希望服务器对此条命令进行解释
//当发出命令后,是不是必须在服务器返回结果后才能执行下一条命令?
Memo1.lines.add(FTPCLIENT.LastCmdResult.Text.Text);
//在MEMO控件中显示服务器解释回来的结果
在服务端(使用Indy Servers的IDFtpServer控件)的OnBeforeCommandHandler事件中作如下响应
BeforeCommandHandler(ASender: TIdTCPServer;const AData: String; AThread: TIdPeerThread);
Begin
if Adata[1]='#' then //说明是学生机的自定义命令
begin
...... //进行命令处理
Athread.Connection.SendCmd('.....');//把处理结果返回给客户端
end;
end;
我想请问各位高手:
1、用这样的方式来实现合不合适
2、当连接服务器的客户机很多时,必然造成服务器响应慢,我现在想知道当学生机发出 SendCmd后,结果会在什么时候才会回来,有什么方法可以使得当结果没回来时,SendCmd 后面的命令就不能被执行。