我做的东西是用IdTCPClient先发送命令(自定义的)到服务器端,服务器端根据命令返回给客户端一些数据。代码如下:
with IdTCPClient1 do
begin
Writeln('Query');
Writeln(Edt_jh.Text);//发送的两个查询条件
Writeln(DateToStr(Time_sgrq.date)); j:=ReadInteger;//服务器发送回来的信息条数
if j<>1 then
begin
for i:=0 to j-1 do
begin
ReadLn(Str_Filename) ; //运行到这得时候总说Connection Closed Gracefully
Slst_file.Append(Str_Filename);
end
end
else
Slst_file.Append('NULL');
这是什么问题呢?是否是接收的时间不对,服务器没有发送完数据,客户端就接收了吗?
with IdTCPClient1 do
begin
Writeln('Query');
Writeln(Edt_jh.Text);//发送的两个查询条件
Writeln(DateToStr(Time_sgrq.date)); j:=ReadInteger;//服务器发送回来的信息条数
if j<>1 then
begin
for i:=0 to j-1 do
begin
ReadLn(Str_Filename) ; //运行到这得时候总说Connection Closed Gracefully
Slst_file.Append(Str_Filename);
end
end
else
Slst_file.Append('NULL');
这是什么问题呢?是否是接收的时间不对,服务器没有发送完数据,客户端就接收了吗?
也不能用
j:=ReadInteger;//服务器发送回来的信息条数
if j<>1 then
这样的方式接收(具体没试过)
只能接收过来分析