如何限制连上serversocket的人数?(20分)

  • 主题发起人 主题发起人 物理
  • 开始时间 开始时间

物理

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一程序需要限制连上serversocket的人数,
比如我只能让四个人连上serversocket
在第五个,第六个,。。。连我的serversocket时clientsocket能得到警告
[?]
 
ICS控件上有最多连接人数的设定,你只要填入一个数就OK了。
不过用DELPHI下的SOCK也很容易实现啊,加一个计数器就可以了,如果大于4就不建立
线程
 
我使用nonblocking
但是在什么地方设立这个大于四就不建立连接呢?
onconnect,ongetsocket里设置好像不行么
 
在onconnect里面就行了,先定义一个全局变量,然后在onconnect里面加1,disconnect
时减一,这样就OK了
 
var clientiniindex:array[1..4]of string;
i,j,temp:integer;
begin
if ak>3 then
serversocket1.Socket.Connections[ak].close
else
begin
label3.caption:= inttostr(ak+1) + ' Connection(S)' ;
inc(ak);
end ;
if ak=4 then
for i:=0 to ak-1 do
serversocket1.Socket.Connections.SendText('1$1'+clientiniindex[i+1]+'$');

end;


怎么不行呢?
 
后退
顶部