PHP демон на сокетах
Код:
$server = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($server, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind ($server, "127.0.0.1", 12345);
socket_listen ($server, 100);
socket_set_nonblock ($server);
$clients = array ();
$c = 0;
while (true)
{
$client = @socket_accept ($server);
if ($client !== false)
{
echo "new client\n";
$clients[$c] = $client;
$c++;
}
// тут какие-то операции с клиентами
}
socket_set_option($server, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind ($server, "127.0.0.1", 12345);
socket_listen ($server, 100);
socket_set_nonblock ($server);
$clients = array ();
$c = 0;
while (true)
{
$client = @socket_accept ($server);
if ($client !== false)
{
echo "new client\n";
$clients[$c] = $client;
$c++;
}
// тут какие-то операции с клиентами
}
Собственно говоря, вешаем сервер на 12345-й порт и ждем клиентов. Суть проблемы заключается в том, что новый клиент не может подсоединиться до тех пор, пока не отсосединится текущий. Существует ли способ исправить данную проблему?
вопрос исчерпан, тему можно закрыть :)