用ServerSocket做服务器,发送数据内存为什么会缓慢增长???(50分)

  • 主题发起人 主题发起人 goodjsh
  • 开始时间 开始时间
G

goodjsh

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序的服务器端用的是ServerSocket控件,但发送数据为什么内存会缓慢增长?我测试过DELPHI自带的例子,发送数据内存也是不停增长的,各位大侠知道为什么吗?在线急.......
 
内存泄漏!
 
没有释放内存的过程。
 
delphi自带的例子也会内存泄露吗?
 
delphi自带的例子也会内存泄露是很正常的嘛,人家只是个例子,肯定没有考虑那么多了,呵呵
 
解决办法是:全部把string变成array of char
 
我用array of char 接收不到数据,而array[0..2] of char可以,这是为什么?
程序如下:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
RecData :array of char;
RecLen: integer;
i:integer;
s:string;
begin
RecLen:= Socket.ReceiveLength;
setLength(RecData,RecLen) ;
socket.Receivebuf(RecData,Socket.ReceiveLength);
s:='';
for i:=0 to RecLen-1 do s:=s+inttohex(ord(recdata),2)+ ' ';
memo1.Lines.Add(s);
end;
 
那就分配一块内存,用完了释放,pchar,memset。
 
后退
顶部