对于Stream的网络传输总是报错
时间:2011-12-10
来源:互联网
我使用文件流传输文件的时候似乎客户端没有回应,使用内存流传输服务端又报错,单步也跟踪不到哪一步的错误
帮我看一下代码上哪里有问题
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;
帮我看一下代码上哪里有问题
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;
作者: nippycn 发布时间: 2011-12-10
错误信息是什么呢,可以自己写日志,记录每一步,这样出错时也知道是哪一步,或者try except,在except中设断点
作者: bdmh 发布时间: 2011-12-10
两边收发数据是正常的 我使用文件流传输文件 不知道是不是我方式不对 根本没有接收
使用内存流的话 提示 Access violation at address 004038a5 in module 'Project1.exe' read of address 00000000
使用内存流的话 提示 Access violation at address 004038a5 in module 'Project1.exe' read of address 00000000
作者: nippycn 发布时间: 2011-12-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28