Всем привет. Найдется ли здесь добрый PHP гуру, кто шпетрит в сокетах под php... дело в том что написал сервак сокс5, под виндой на апаче работает на ура... под юниксом, по одному запросу тоже работает, но когда пачка запросов, то захлебывается и не может что-ли дослать клиенту пакеты... то-ли ещё чего... Код в пм скину...
Qwert321 подковерную помощь ищите в разделе о работе. Либо выкладывайте что есть. Запуск сокс5 _сервера_ апачем - вы либо не понимаете что делаете, либо придумали что-то хитрое (во второе - не верю)
2 Gifts и через апатч можно. Если скрипт пустить в фоне через system... > /dev/null 2>&1 & если вы понимаете о чем я
0_0 предположу, что если так запускать сокс-сервер, то в качестве сервера под всё это надо юзать один из терминалов qiwi. А то недостаточно глупая схема получается.
2 Trinux, поправь если говорю не правильно. Почему такая схема не будет работать - запуск фонового процесса из под процесса под которым выполняется скрипт? Самому интересно как на самом деле. Не задавался никогда этим вопросом. Давным давно на Perl, который исполняется как CGI - сервер нормально запускался - пока ты страницу не закроешь.
На локале создал 2 скрипта 1. <?php system("/usr/bin/php -f /var/www/server.php > /dev/null 2>&1 &"); ?> 2. скопировал от сюда http://myrusakov.ru/php-socket-server.html 3. Перешел по адресу в обозревателе http://localhost/lan.php 4. ps -aux www-data 13158 61.7 0.1 31360 6752 ? R 18:31 2:01 /usr/bin/php -f /var/www/server.php 5. Закрыл обозреватель. 6. Процесс висит. 7. nc localhost 1935 Hello! ^ это из скрипта... Эм. вроде как работает... Trinux или что-то не так?
Да я и не спорю что будет работать. Но для полного абсурда предложил вместо сервера физического использовать комп в терминале. Желательно, чтобы последний работал на gprs модеме. Самое оно для соксов.
2 Trinux, у меня были ситуации, когда нужно было быстро поднять прокси минут на 20... скрипты на PERL вполне себя оправдывали.
Как то не приходилось с Perl сталкиваться... теперь видимо придется... у вас как знающих, как остановить выполнение скрипта допустим через 20 мин? в пример: PHP: #!/usr/bin/perl use IO::Socket::INET; $SIG{'CHLD'} = 'IGNORE'; $bind = IO::Socket::INET->new(Listen=>10, Reuse=>1, LocalPort=>$port) or die "Can't bind port $port\n"; while($client = $bind->accept()) и т.д.... { как остановить скрипт, например если создается файл в папке /tmp/stop.script ? php прим. так if(file_exists('/tmp/stop.script')) ... exit; ну или задать определенное время выполнения скрипта на 20 мин?
Qwert321, если это сервер то по идее у него должен быть цикл бесконечный который ждет клиентов. - там и вставь проверку... функция time date mktime.