HEADER = record
nTYpe : Byte;
end;FILEINFO = record
head : HEADER;
zipFile : array[0..511] of Byte;
fileLen : CARDINAL;
end;
{---------------------------- 数据发送} fStream := TFileStream.Create(OpenDialog1.FileName,fmOpenReadWrite or fmShareDenyWrite or fmShareDenyRead);
fileInfo.fileLen:= fStream.Size;
repeat
nRead := fStream.Read(fileInfo.zipFIle ,512);
send(clientSock[0],fileInfo,nRead,0);
until nRead <> 512;
fStream.Free;
我是服务器端发送文件,TFileStream.Read(fileInfo.zipFile,512)-将文件流读入RECORD中的zipFile然后发送;发送前检测包中的内容是正确的,
客户端接收时,包里的东东变了,zipFile内容不正确.我接收到得FILEINFO里的zipFile是不正确的.是不是文件流在RECORD中发送是不安全的?
nTYpe : Byte;
end;FILEINFO = record
head : HEADER;
zipFile : array[0..511] of Byte;
fileLen : CARDINAL;
end;
{---------------------------- 数据发送} fStream := TFileStream.Create(OpenDialog1.FileName,fmOpenReadWrite or fmShareDenyWrite or fmShareDenyRead);
fileInfo.fileLen:= fStream.Size;
repeat
nRead := fStream.Read(fileInfo.zipFIle ,512);
send(clientSock[0],fileInfo,nRead,0);
until nRead <> 512;
fStream.Free;
我是服务器端发送文件,TFileStream.Read(fileInfo.zipFile,512)-将文件流读入RECORD中的zipFile然后发送;发送前检测包中的内容是正确的,
客户端接收时,包里的东东变了,zipFile内容不正确.我接收到得FILEINFO里的zipFile是不正确的.是不是文件流在RECORD中发送是不安全的?
解决方案 »
- delphi 定时器精度 在工控中的问题 求解答!
- 请教高手,delphi的参考帮助
- 如何发送邮件
- 这是我同学在国内一家较有名气的软件公司面试时的题目(可能有点难,与算法有关),我是一点解题的思路都没有(当然他也不会)。
- 如何利用一個string變量,動態創建form
- dbgrid中加入下拉列表
- 关于ado明天給分。。。在线等
- 一个比较棘手的问题:为什么会这样呢?
- dxdbgrid没有dxdbgrid.print这样的功能吗???要打印怎么办??不会要用quickreport吧,太凡了(参与者有分)
- 為什麼找來找去或者重新安裝都找不到SQL Builder,十萬火急!
- 怎样获取数据表中的记录数?
- select * from subset where xcol1>=xcormin 报错
直接发 FILEINFO 这个结构体就可以了