Конечно, можно ограничить количество пользователей одним пользователем. Вы должны посмотреть на учетную запись пользователя и решить, принимать или нет новые подключения. В коде это выглядит так:
if($socket==$master){
$client=socket_accept($master);
if($client<0){ console("socket_accept() failed"); continue; }
else{ connect($client); }
}
Вы можете сделать еще один оператор if, чтобы проверить, если usercount равен 0, поэтому вы принимаете соединение:
if($socket==$master){
if(count($users) == 0){
$client=socket_accept($master);
if($client<0){ console("socket_accept() failed"); continue; }
else{ connect($client); }
}
}
Чтобы отключить тихого пользователя, я бы обновлял временную метку пользователя, когда пользователь отправляет сообщение на сервер. Теперь единственное, что нужно сделать, это проверить, не превышает ли разница между отметкой времени пользователя и текущим временем ваше время отключения. Если это так, пни его :)