十万火急,不能释放所占内存。

tongjin9 2003-02-28 03:26:48
写了一个测试程序(一个ClientSocket控件,Timer1).
代码如下:
void __fastcall TForm1::Timer1Timer(TObject *Sender)

TClientSocket *client;
client = new TClientSocket(ClientSocket1);
client->Socket->ASyncStyles;
client->OnRead =ClientSocket1->OnRead;
client->OnError =ClientSocket1->OnError;
client->OnConnect =ClientSocket1->OnConnect;
client->Host = "172.17.1.15";client->Port = 7777;
client->Active = true;

然后在ClientSocket1 的 onConnect,onReceive中进行传送和接受数据。
现在的问题是我的内存占用越来越多。直到占完为止。请问如何释放所占空间。




...全文
58 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
常宁 2003-03-13
  • 打赏
  • 举报
回复
一个字,晕!!!!!!!!!!!
hait 2003-03-12
  • 打赏
  • 举报
回复
你用的timer中创建ClientSocket。
client = new TClientSocket(ClientSocket1);
首先,这样导致内存没有释放。因为没有Delete。
再者,这样使用Client socket也不正确。
最好找本关于socket的书看看。
tongjin9 2003-03-07
  • 打赏
  • 举报
回复
建立列表?能具體來個例子嗎?
yesry 2003-03-07
  • 打赏
  • 举报
回复
建立列表,关闭了的ClientSocket重复使用。
tongjin9 2003-03-07
  • 打赏
  • 举报
回复
或者各位大蝦有什麼更好的處理方法,前提要用SOCKET.
tongjin9 2003-03-07
  • 打赏
  • 举报
回复
不行呀,只在form中new一個行不通,會丟失數據.
我是通過TIMER來偵測com口傳過來的數據,然後通過socket傳至server端.
server端處理完後傳回一個結果.再通過COM口一一對應的傳結果到數據
傳送端.
zyj322 2003-03-07
  • 打赏
  • 举报
回复
你的方式是错的。不应该在timer时间中去创建ClientSocket,如果你只是连接到一个固定的服务器,应该在主窗体中使用一个ClientSocket就行了。如果你是要与多个服务器连接,可以使用多线程+阻塞式Socket的方式
l_clove 2003-03-03
  • 打赏
  • 举报
回复
你在timer中new肯定不行啦
你在Form的OnCreate中new一个就够用了
非阻塞的你把ClientType置成nonBlocking就行啦
tongjin9 2003-03-03
  • 打赏
  • 举报
回复
怎样才能做到非阻塞呢?
tongjin9 2003-03-03
  • 打赏
  • 举报
回复
怎样delete呢?
lixinwyh 2003-03-02
  • 打赏
  • 举报
回复
pf
pp616 2003-03-02
  • 打赏
  • 举报
回复
你在time 里new 又不delete 当然会把你的内存吃完了。
这个程序可以改个名字叫吃内存更好。:)
WbtServer 2003-03-01
  • 打赏
  • 举报
回复
你在Form::Create();
里面创建就不会出现占内存的问题不用的时候在TForm1::FormDestroy()
方法里面释放内存就行。
cdws222 2003-03-01
  • 打赏
  • 举报
回复
哇,每个Timer时就要生成一个新控件,又不删除它,如果内存不增加才是有毛病呢
invalid 2003-02-28
  • 打赏
  • 举报
回复
为什么要在Timer中创建啊?
cscer 2003-02-28
  • 打赏
  • 举报
回复
在TCustomSocket::OnDisconnect事件中释放,可以吗?

猜得

学习……

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧