M
myname
Unregistered / Unconfirmed
GUEST, unregistred user!
近两天写了一个sqlserver客户端备份程序,采用三层结构,winsock连接。
在中间层备份压缩后,通过Olevariant将备份文件传递到客户端,但十多兆
的文件能正常传输,上了二十兆就不行了,出现以下错误提示:
“Windows Socket error: (10055),on API 'recv'”
好象是缓冲区不够,不知道怎么解决?
注:文件到Olevariant的程序代码如下:
VarClear(data);
//data为Olevariant
with TFileStream.Create(backupfilename, fmShareDenyNone)do
try
data := VarArrayCreate([0, Size], varByte);
P1 := VarArrayLock(data);
Read(P1^, Size);
finally
Free;
VarArrayUnLock(data);
end;
在中间层备份压缩后,通过Olevariant将备份文件传递到客户端,但十多兆
的文件能正常传输,上了二十兆就不行了,出现以下错误提示:
“Windows Socket error: (10055),on API 'recv'”
好象是缓冲区不够,不知道怎么解决?
注:文件到Olevariant的程序代码如下:
VarClear(data);
//data为Olevariant
with TFileStream.Create(backupfilename, fmShareDenyNone)do
try
data := VarArrayCreate([0, Size], varByte);
P1 := VarArrayLock(data);
Read(P1^, Size);
finally
Free;
VarArrayUnLock(data);
end;