首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

对于Stream的网络传输老是报错

2012-07-30 
对于Stream的网络传输总是报错我使用文件流传输文件的时候似乎客户端没有回应,使用内存流传输服务端又报错

对于Stream的网络传输总是报错
我使用文件流传输文件的时候似乎客户端没有回应,使用内存流传输服务端又报错,单步也跟踪不到哪一步的错误
帮我看一下代码上哪里有问题
if MidStr(VerInfo,5,4) = 'OKOK' then
  begin
  //StarSend(I);
  try
  Files := TFileStream.Create(FFileName,fmOpenRead or fmShareExclusive);
  Files.Position := 0;
// FFileStream.Create ; //使用内存流
// FFileStream.LoadFromStream(Files);
// FFileStream.Position := 0;
  session[i].CSocket.SendText('Tra_Info;'+inttostr(Files.Size));
  finally
  Files.Free;
  end;
  end
  else
  if MidStr(VerInfo,5,4) = 'Wait' then
  begin
  //SendFile; 发送文件
  try
  session[i].CSocket.SendStream(Files);//使用内存流发送就把Files改成FFileStream
  finally
  Files.Free;
  end;
  end;

[解决办法]
错误信息是什么呢,可以自己写日志,记录每一步,这样出错时也知道是哪一步,或者try except,在except中设断点
[解决办法]
要分包传输,就是每次取多少传送
直到大小等于文件大小,就发送转送完毕命令
[解决办法]
else 里的 Files 创建了吗
[解决办法]
1、finally换成except来拦截错误
2、根据大小分包传输

热点排行