PHP Daemon + nanoserv

babo

Новичок
PHP Daemon + nanoserv

Поделитесь опытом кто писал демоны на php с использованием nanoserv. У меня непонятки по следующим вопросам:
1. как правильно остановить сервер (закрыть соеденения, запретить создание новых во время останова и т.д.)
2. Возможно ли чтобы один процесс управлял несколькими соеденениями?
В общем хочется развить тему по nanoserv, штука хорошая но вот поддержки никакой.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
казахский фреймверк для демонов на PHP :)

жаль, но нам прийдется подождать, когда для этого замечательного проекта напишут сайт, чтобы скачать исходники и изучить сие творение

интересно, его авторы не земляки ли Бората из города Kuçzek?
я допускаю, что в Кузеке принято HTML учить после сокетов, а думать о целесообразности не принято вообще
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
babo
понимаешь ли, это стеб, города Кузек не существует, я сам жил в Алма-Ате немного,

а демонов пишут на других языках :)
 

babo

Новичок
ну думаю что не стоит тему превращать в очередное обсуждение о том что демонов не пишут на пхп.
Кстати я про исходники не понял, это что шутка?
http://nanoserv.si.kz/current/nanoserv.php?h=1 - Исходник
http://nanoserv.si.kz/examples/ - Примеры
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
пиши ради бога, я тоже пишу иногда, но обсуждать fast dirty hack просто из-за незнания питона смысла мало

вот http://nanoserv.si.kz/ - шутка, но глупая
кому-то хочется изучать веб-проект, у которого даже нет сайта? мне - нет
 

babo

Новичок
гы, это самый основной критерий.

-~{}~ 01.07.09 22:08:

Я сам тестов не проводил но вот судя по http://www.docunext.com/blog/2007/09/24/nanoservphp-vs-phpsocketdaemon/

-~{}~ 01.07.09 22:14:

И кстати на чем основываются утверждения что он лучше?
1. Поддержки таймеров я в нем не нашел
2. Shared objects тоже вроде не видно
3. Если в nanoserv описание функций скудное, то в phpsocketdaemon оно вообще отсутствует и более того чел который писал просто не слышал про phpdoc.
 

nexen

Новичок
<form action = 'srv.php' method = 'post'>
<input type = 'text' name = 'ip' value = ' ip '>
<input type = 'submit' value = 'start'>
</form>
<?php
set_time_limit(0);
if($_POST['ip']){
$p = 25;
$s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($s, $_POST['ip'], $p);
socket_listen($s);
while(true){
if(($c = socket_accept($s)) !== false){
socket_write($c, 'hello tester');
while(true){
if($r = socket_read($c, 512)){
trim($r);
if($r == 'exit'){
socket_shutdown($s, 2);
socket_close($s);
break 2;
}
else{
socket_write($c, $r);
socket_shutdown($c, 2);
socket_close($c);
break;
}
}
else{
socket_shutdown($c, 2);
socket_close($c);
break;
}
}
}
}
}
else{
echo 'input ip';
}


вот примерно так - если на сокетах, - может подойдет вариант, а с наносерв не знаком
 

nexen

Новичок
Автор оригинала: iceman
а как демон на пхп может висеть в процессах?
сокетный никак он из под httpd.exe работает в процессах его фактически не будет и убивается он либо закрытием слушающего сокета либо убийством taskkill /if /im httpd.exe
в линуксе все совсем по другому там можно и многопоточность организовать форкингом.
 
Сверху