关于网络socket句柄的释放问题,请高手指点,感激不尽
void __fastcall T_NetModel::ClientSocketConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
Panel->Color = clLime;
Timer->Enabled = false ;
}
//---------------------------------------------------------------------------
void __fastcall T_NetModel::ClientSocketDisconnect(TObject *Sender,
TCustomWinSocket *Socket)
{
Timer->Enabled = true ;
}
//---------------------------------------------------------------------------
void __fastcall T_NetModel::ClientSocketError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
Timer->Enabled = true ;
ErrorCode = 0 ;
}
//---------------------------------------------------------------------------
void __fastcall T_NetModel::TimerTimer(TObject *Sender)
{
if(!ClientSocket->Active )
{
Panel->Color = clRed;
ClientSocket->Open() ;
}
else
{
Panel->Color = clLime;
}
}
以上代代码,过一段时间会提示缓冲区满错误,并在任务管理器的句柄数一列会不断增加句柄数量,由此可见是因为socket句柄没有释放的原因,请那位指教指教,如何释放socket句柄。谢谢