我用clientsocket,serversocket编了一个聊天程序,我希望再有人增加或者退出时能在服务器端能看到在线人数,所以我在服务器端的程序如下:
procedure tform1.UpdateState;
begin
statusbar1.SimpleText:='在线人数:'+inttostr(serversocket1.Socket.ActiveConnections);
end;
然后在
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
updatestate;
end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
updatestate;
end;
但是,如果增加人数,显示的在线人数就是正确的,如果人数减少,他是每减少两个人,
在线人数才减少1.我不知道问题出在那里,请各位大侠帮忙!谢谢,解决了马上送分!
procedure tform1.UpdateState;
begin
statusbar1.SimpleText:='在线人数:'+inttostr(serversocket1.Socket.ActiveConnections);
end;
然后在
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
updatestate;
end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
updatestate;
end;
但是,如果增加人数,显示的在线人数就是正确的,如果人数减少,他是每减少两个人,
在线人数才减少1.我不知道问题出在那里,请各位大侠帮忙!谢谢,解决了马上送分!
解决方案 »
- EXCEL导入到SQL问题
- 请教各位,用定时器定时刷新数据库一个表,程序会假死很慢的现象,不知怎样解决,谢谢
- TWebBrowser 激活页面元素button onmousedonw事件
- win98和win2000调用计算器通用的怎么写啊,真的真的没有可用分,只能祝你身体健康
- 关于获取数据库数据用控件的几个问题:
- delphi6.0下套打的问题,急需
- 问个制作安装包的问题?如果的我的程序的数据库用的是access的话,程序做好了,放到没有dephi的机器上?
- 全文检索
- CORBA都是收费的吗?有没有免费的?
- 文本输入问题!
- 关于MSComm控件的使用问题,
- 求教大虾,如何在Delphi的TForm或者是TImage上面用自定义的坐标系画图??
建议你换一种方法:你可以自己做一个计数,Disconnect后自己来减一!