【发布时间】:2014-01-01 18:39:30
【问题描述】:
我有一个使用 Indy 9 的小型客户端-服务器应用程序项目。我的服务器应用程序正在使用“命令处理程序”来处理客户端的命令。 在这种情况下,我的客户端应用程序使用 writeLn 过程来发送基于文本的命令和数据。例如:
IdTcpClient1.WriteLn('cmd1'+'#'+'hello server');
注意:'cmd1' 是命令,'#' 是命令分隔符,'hello server' 是数据
为了处理这个命令(cmd1),我的服务器应用程序有一个过程如下:
procedure TForm1.IdTcpServer1cmd1Command(Asender:TIdCommand);
var
s: string;
begin
if ( Assigned(ASender.Params) ) then
begin
s:= Asender.Param[0];
...............
...............
end;
end;
到目前为止一切都很好。问题是我想添加一个功能,以便我的服务器应用程序能够从客户端请求和接收 JPEG_image。如果客户端使用:WriteStream程序发送此图像,例如:
IdTcpClient1.WriteStream(MyImageStream);
考虑到没有特定命令(例如本例中的“cmd1”),服务器如何处理此事件?
【问题讨论】:
-
但只需执行特定命令即可。更好的办法是重用 HTTP 协议与数十个用于 Delphi 的 HTTP 服务器和客户端库以及十几个用于调试目的的 HTTP 嗅探器
标签: delphi file-upload delphi-7 indy indy-9