多个客户端同时从服务器端下载一个文件,下面代码流程是否有问题?

mysisc 2005-04-16 11:01:21
public
F: TFileStream;//公共变量

Procedure ThreadStart(); //一个socket客户端连进来请求下载
var
fileName:string
begin
FileName:=EditFileName.Text;
if FileName<>'' then
begin
F := TFileStream.Create(FileName,fmOpenRead); //打开文件
ReadFile();
end;
end;

Procedure ReadFile();//读取文件
var
n:integer;
begin
if F.Position < F.Size then
begin
n := F.Size - F.Position;
if n > 1024 then n := 1024;
SetLength(bytes,n);
F.ReadBuffer(bytes,n);
end;
end;
//////////////////////////
我是担心一个客户端读取了部份后,另个客户端又接入,把前面的客户端读到的文件的标志位又定位到当前的位置了.也就是说文件的读取位置改变造成出错
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysisc 2005-04-17
  • 打赏
  • 举报
回复
是吗?怎么还有人说没问题的,有没有人高手能再发表一些看法?
herman~~ 2005-04-16
  • 打赏
  • 举报
回复
关注
xiaoxiao_8 2005-04-16
  • 打赏
  • 举报
回复
这个程序肯定是有问题的。这只是单线程的情况下可以使用。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧