Indy8异常"Cannot allocate socket"是怎么回事???加急!!!(100分)

L

lyshw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Delphi6 + indy8的环境下写了一个传输图片的程序
为了测试,我在client中每500毫秒自动给server端发送两张图片
但是在运行几个小时后出现"Cannot allocate socket"的异常
请各位老师给与帮助.
以下是client的部分代码:
发送是在单独的线程中运行的
procedure TSendThread.Execute;
var
m: TMemoryStream;
begin
Self.FreeOnTerminate := True;
try
FtcpClient.Connect;
m := TMemoryStream.Create;
try
m.Write(FData, SizeOf(FData));
//发送车辆数据
FtcpClient.WriteStream(m, True, True);
if TPackFunction(FData.FunID) = pfNew then
begin
//发送车牌图
FtcpClient.WriteStream(PlateImg, True, True);
//发送近景图
FtcpClient.WriteStream(VehicleImg, True, True);
end;
finally
m.Free;
FtcpClient.Disconnect;
end;

except
on E: Exceptiondo
begin
Form1.mmo1.Lines.Add(e.Message);
WriteLog('异常, 原因:' + e.Message);
end;
end;

end;
 
顶部