http://www.delphi2007.net/DelphiNetwork/html/delphi_20061218101640102.html
用Delphi和wincap包中PacketReceivePacket函数接包时出现内存泄漏。
这是扫描什么原因?
var
recvbuf: array[0..1024*250 - 1] of char;
if not PacketSetBuff(lpAdapter,250*1024) then
begin
ShowMessage(Format('PacketSetBuff Error: %d',[GetLastError()]));
exit;
end;
if not PacketSetReadTimeout(lpAdapter,1) then
ShowMessage('Warning: Unable to set the timeout');
lppacketr := PacketAllocatePacket();
if lppacketr = nil then
begin
ShowMessage(Format('PacketAllocatePacket receive Error: %d',[GetLastError()]));
exit;
end;
PacketInitPacket(lppacketr,@recvbuf,sizeof(recvbuf));
while true do
begin
if not PacketReceivePacket(lpAdapter,lppacketr,true) then exit;
end;
用Delphi和wincap包中PacketReceivePacket函数接包时出现内存泄漏。
这是什么原因?
本文探讨了使用Delphi和wincap包中的PacketReceivePacket函数进行网络数据包捕获时遇到的内存泄漏问题。文章详细介绍了在设置缓冲区大小、读取超时以及初始化数据包时的错误处理,并提供了可能引起内存泄漏的原因分析。
724

被折叠的 条评论
为什么被折叠?



