PHP в несколько потоков обработки

unk2k

Новичок
PHP в несколько потоков обработки

Здравствуйте.
Дано:
Freebsd 5.3
PHP 4.1.3

PHP Скрипт - назовем ALFA1
PHP:
<?
ini_set('memory_limit', '128M');
error_reporting(0);
set_time_limit(0);
ob_implicit_flush();

include('modul.php');

$address = '127.0.0.1';
$port = 10000;

$sock = socket_create (AF_INET, SOCK_STREAM, 0);
$ret = socket_bind ($sock, $address, $port);
$ret = socket_listen ($sock, 24000);

do {
    $msgsock = socket_accept($sock);

    do {
        if (FALSE === ($buf = socket_read ($msgsock, 2048))) {
            echo "socket_read() failed: reason: " . socket_strerror ($ret) . "\n";
            break 2;
        }
        if (!$buf = trim ($buf)) {
            continue;
        }
        if (substr($buf, 0, 2)=='F1') {
            ....any big code.....
            break;
        }
        if (substr($buf, 0, 2)=='F2') {
            ....any big code.....
            break;
        }
    } while (true);
    socket_close ($msgsock);
} while (true);

socket_close ($sock);
  

?>
PHP Скрипт - назовем ALFA2
PHP:
<?
ini_set('memory_limit', '128M');
ini_set('max_execution_time', '0');
ini_set('max_input_time', '0');
$link=mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("xxx", $link);   

function send($msg) {
    $f=@fsockopen('127.0.0.1', 10000, $errno, $errstr, 3);
    if (!$f) { 
    sleep(1);
    send($msg);
    }
    @fputs($f, $msg);
    @fclose($f);    
}

send('F1');

for($i=0;$i<=10000;$i++) {
send('F2'.$i);
}

exit();
?>
ALFA1 мы запускаем так
%nohup php server.php &
все, далее мы вешаем в крон ALFA2 по моей надобности его нужно запускать еже 5ти минутно.

Все работает великолепно, прям как мне надо, НО.
Мне нужно что бы если я давал 10 000 запросов то они обрабатывались не в последовательности, а сразу. Вопрос как это реализовать и в чем тут проблема ?
 
Сверху