curl_multi не понятно, как юзать

KOLANICH

Новичок
curl_multi не понятно, как юзать

PHP:
class a{
 public var $ch;
 .......куча всего........
function __construct($login,$pass){
  $this->ch = curl_init(self::loginAddr);
		curl_setopt($this->ch, CURLOPT_HEADER,1);
		curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
		
		curl_setopt($this->ch, CURLOPT_USERAGENT, self::useragentString);
		//браузер
		
		//куки 
		
		$this->cookieFile=tempnam(self:tempdir, "COOK");
		curl_setopt($this->ch, CURLOPT_COOKIEJAR, $this->cookieFile);
		curl_setopt($this->ch, CURLOPT_COOKIEFILE, $this->cookieFile);
}
function __destruct() {
		curl_setopt($this->ch, CURLOPT_URL, self::logoutAddr);
		$res=curl_exec($this->ch);
		curl_close($this->ch);
		unlink($this->cookieFile);
	
	}

function doSth(){
curl_setopt($this->ch, CURLOPT_URL,self::firstAddr);
		$res=curl_exec($this->ch);
...............some procesing
foreach($m[1] as $i => $id){
........................
 curl_setopt( $this->ch, CURLOPT_POSTFIELDS,"id=".$id."&a=".$a."&b=".$b);
}

}

function dosomething() {
........request  and processing....

return $count;

}
}


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

методы будут выполняться сразу для всех объектов класса а
как переписать методы в мультикурле?
(не знаю,как это выразить словами, но должно работать так:
ставим запросы на параллельное выполнение
когда выполнен запрос, обр пол данные и ставим несколько запросов в выполняться
что-то вроде комбинации событий и замыканий javascript должно получиться (данные загружены - создаем новый запрос и на него обработчик, который выполнится, когда запрос завершится)
но в php нет событий и замыканий
как это реализовать через curl_multi ?
)


как вообще узнать, какой запрос завершен, а какой - нет
и в чём смысл
PHP:
while($running ){
curl_multi_exec($mh,$running);//это проверяет,все ли запросы отправлены?

}
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
http://phpclub.ru/talk/showthread.php?s=&threadid=111481

http://phpclub.ru/talk/showthread.php?postid=895169#post895169
 

KOLANICH

Новичок
спс
но не особо помогло
грушу юзать не хочется
сторонние классы -тоже

-~{}~ 06.06.10 15:10:

короче я решил написать многопоточное сетевое приложение
может быть лучше заюзать питон?
 

Farsh

~ on ~ high ~ wave ~
KOLANICH
Для многопоточных сетевых приложений всегда будет лучше тот язык, где есть потоки
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
в твою стороннюю проблему вникать тоже мало кому хочется :)
изучил бы ты значения терминов для начала
 

KOLANICH

Новичок
люди
а можно сделать,чтобы скрипт на питоне запускал скрипт на пхп в отдельном процессе?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
конечно
поищи модуль для исполнения php на питоне или напиши
 
Сверху