TServerSocket在什么时候真正关闭连接?

pol12pol 2003-04-03 11:57:16
当有多个用户连接到TServerSocket,
它会为每个用户生成一个TCustomWinSocket
当某个TCustomWinSocket->close;时,
TServerSocket并不立即删除这个TCustomWinSocket
请问我有什么方法立即删除相应的TCustomWinSocket吗?
...全文
118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
popo207 2003-04-04
  • 打赏
  • 举报
回复
用socket->free();看看
pol12pol 2003-04-03
  • 打赏
  • 举报
回复
help me!!!
pol12pol 2003-04-03
  • 打赏
  • 举报
回复
不行的就是睡上1000年也不行
它好像是只有在调用server->socket->connection[0]->close()这句话的函数完全执行完才行
netsys2 2003-04-03
  • 打赏
  • 举报
回复
执行完语句server->socket->connection[0]->close()后:

Sleep(200);
pol12pol 2003-04-03
  • 打赏
  • 举报
回复
我不是这个意思

比如一个server中只有一个用户,
执行完语句server->socket->connection[0]->close()后
如果紧接着查看server->Socket->ActiveConnections,其值仍为1
只有当语句server->socket->connection[0]->close()所在的函数推出后
server->Socket->ActiveConnections才为0
我一个函数和server->Socket->ActiveConnections的值的关系很重要
能不能在server->socket->connection[0]->close()就让
server->Socket->ActiveConnections自动减去呢?

netsys2 2003-04-03
  • 打赏
  • 举报
回复
每个CLIENT连接上来时记录其产生的SOCKET:

TCustomWinSocket *bakSocket[1024];
int index=0;
void __fastcall TForm1::ServerSocket1Accept(TObject *Sender,
TCustomWinSocket *Socket)
{
bakSocket[index++] = Socket;
}

CLIENT CLOSE时:

bakSocket[x]->Close();
pol12pol 2003-04-03
  • 打赏
  • 举报
回复
求救求救

1,317

社区成员

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

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