Не удаляются сокеты при использовании socket_bind... и pcntl

dima-u

Новичок
Не удаляются сокеты при использовании socket_bind... и pcntl

Экспериментирую с ПХП, и пишу многопоточный сервер, обрабатывающие запросы через сокеты. Все бы хорошо, но вот после каждого нового клиентского соединения ( после его закрытия ) комманда sockstat | grep php дает понять, что стало на 2 сокета больше, хотя клиетская прога уже отвалилась, понимаю, что вопрос не простой, но может кто встречался с проблемой.
Реализация многопоточности на сервере:

PHP:
$sockconn = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sockconn, '127.0.0.1', '12345');
		while(true)
		{
			$remote_fd = @socket_accept($sockconn);
			$pid = pcntl_fork();
			if ($pid == -1) {     die('could not fork'); }

			if(!$pid) {
				echo "Starting new thread...\n";
				proccessing($remote_fd);
				echo "Childcontrol thread finished....\n";
				socket_close($remote_fd);
			}
		}
 

ngm

Новичок
Система обычно уничтожает сокет не сразу после socket_close а по истечении некоторого времени. Именно из-за этого существует опция SO_REUSE_ADDR.
 
Сверху