<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Белоградчик, Белоградчишки скали. &#187; PHP</title>
	<atom:link href="http://blog.belogradchik.biz/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.belogradchik.biz</link>
	<description>блогът на belogradchik.biz</description>
	<lastBuildDate>Wed, 07 Jul 2010 16:56:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PHP и Threads</title>
		<link>http://blog.belogradchik.biz/php-%d0%b8-threads/2008/04/04/</link>
		<comments>http://blog.belogradchik.biz/php-%d0%b8-threads/2008/04/04/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 15:24:14 +0000</pubDate>
		<dc:creator>zetxxx</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Threads]]></category>

		<guid isPermaLink="false">http://blog.belogradchik.biz/?p=23</guid>
		<description><![CDATA[Мдам, имаше и такъв момент, след около 2 часа търсене попаднах на един блог чиито притежател ми изясни някои основни неща включително и че за начинанието за което си мислех че ми трябват нишки мога да мина и без тях. Оказа се че библиотеката която одговрая за стриимовете върши чудесна работа шот имало асинхронна връзка, да ама що толкова малко се пише за тея неща&#8230; защото нещата при стриимовете се оказаха малко заплетени, но уви трябваше да се разплетат по един или по друг начин, класа [...]]]></description>
			<content:encoded><![CDATA[<p style="http://blog.belogradchik.biz/wp-admin/text-align: justify">Мдам, имаше и такъв момент, след около 2 часа търсене попаднах на един <a href="http://netevil.org/blog/2005/may/guru-multiplexing" target="_blank">блог</a> чиито притежател ми изясни някои основни неща включително и че за начинанието за което си мислех че ми трябват нишки мога да мина и без тях. Оказа се че библиотеката която одговрая за стриимовете върши чудесна работа шот имало асинхронна връзка, да ама що толкова малко се пише за тея неща&#8230; защото нещата при стриимовете се оказаха малко заплетени, но уви трябваше да се разплетат по един или по друг начин, класа които слагам по долу работи по следния начин ( а и е предназначен главно и само за хттп рикуести ).. сетваме домаин:ппорт( 1 or multiply ) отваряме коннекция -&gt; правиме я асинхронна  -&gt; преминаваме от  блокинг мод към нонблокинг ( което води до неизчакване ако не се лъжа ) -&gt; <a href="http://www.php.net/manual/en/function.stream-select.php" target="_blank">stream_select</a> магическата функция, тази фукнция връща резултат в една от опциите които и пассваме по референции, благодарение на тази функция знаем в кои стриим се е случило нещо и благодарение на нея ако трябва да прочетем 2 уеб страници няма да има нужда да чакаме да се изчете едната и селд това другата, така спестяваме времето което е нужно на сървъра да обработи рекуест-а &#8230; надявам се съм бил полезен на някои, бв този класс има дребни екстри за поправка, трябваше да сложа услееп някаде за да падне процесорното време но това след уикенд-а, пък и които е заинтересуван винаги ше му бутна рамо <img src='http://blog.belogradchik.biz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">ini_set</span><span class="br0">&#40;</span> <span class="st0">&#39;max_execution_time&#39;</span><span class="sy0">,</span> <span class="nu0">300</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">include</span> <span class="st0">&#39;html.parser.php&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">class</span> threadetSocketCall</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">var</span> <span class="re1">$namespace</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">var</span> <span class="re1">$config</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">function</span> threadetSocketCall<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">config</span><span class="br0">&#91;</span><span class="st0">&#39;ctime&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">30</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">function</span> mHostAdd<span class="br0">&#40;</span> <span class="re1">$host_port</span><span class="sy0">,</span> <span class="re1">$get</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;domain:port&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;domain:port&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="kw3">count</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;domain:port&#39;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="nu0">-1</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$host_port</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;get&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="kw3">count</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;domain:port&#39;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="nu0">-1</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$get</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">function</span> mHostAddConnect<span class="br0">&#40;</span> <span class="re1">$host_port</span> <span class="sy0">=</span> <span class="st0">&#39;www.belogradchik.biz:80&#39;</span><span class="sy0">,</span> <span class="re1">$get</span> <span class="sy0">=</span> <span class="st0">&#39;&#39;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">mHostAdd</span><span class="br0">&#40;</span> <span class="re1">$host_port</span><span class="sy0">,</span> <span class="re1">$get</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$cc</span> <span class="sy0">=</span> <span class="kw3">count</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;domain:port&#39;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="nu0">-1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span> <span class="sy0">=</span> stream_socket_client<span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;domain:port&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re1">$errno</span><span class="sy0">,</span> <span class="re1">$errstr</span><span class="sy0">,</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">config</span><span class="br0">&#91;</span><span class="st0">&#39;ctime&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> STREAM_CLIENT_ASYNC_CONNECT<span class="sy0">|</span>STREAM_CLIENT_CONNECT <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">stream_set_blocking</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="nu0">0</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;allready.writed&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="sy0">!</span><span class="kw3">is_resource</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;stat&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;error_text&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#39;error&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;stat&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;err&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;no&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$errno</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;stat&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;err&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;str&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$errstr</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;stat&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$cc</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;control_text&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#39;in progress &gt;&gt; &#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">function</span> getResults<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$iter</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">while</span><span class="br0">&#40;</span> <span class="kw3">count</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="sy0">++</span><span class="re1">$iter</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$r_</span> <span class="sy0">=</span> <span class="re1">$w_</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$r_</span> <span class="sy0">=</span> <span class="re1">$w_</span> <span class="sy0">=</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$n_</span> <span class="sy0">=</span> <span class="kw3">stream_select</span><span class="br0">&#40;</span> <span class="re1">$r_</span><span class="sy0">,</span> <span class="re1">$w_</span><span class="sy0">,</span> <span class="re1">$e</span> <span class="sy0">=</span> <span class="kw2">null</span><span class="sy0">,</span> <span class="kw2">NULL</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span> <span class="re1">$n_</span> <span class="sy0">&gt;</span> <span class="nu0">0</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span> <span class="re1">$w_</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$w_id</span> <span class="sy0">=</span> <span class="kw2">NULL</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span> <span class="re1">$w_</span> <span class="kw1">as</span> <span class="re1">$id</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$w_id</span> <span class="sy0">=</span> <span class="kw3">array_search</span><span class="br0">&#40;</span> <span class="re1">$id</span><span class="sy0">,</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="kw2">true</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;allready.writed&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$w_id</span><span class="br0">&#93;</span> <span class="sy0">===</span> <span class="kw2">false</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;stat&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$w_id</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;control_text&#39;</span><span class="br0">&#93;</span> <span class="sy0">.=</span> <span class="st0">&#39;in writeing #&#39;</span><span class="sy0">.</span><span class="re1">$w_id</span><span class="sy0">.</span><span class="st0">&#39;|&#39;</span><span class="sy0">.</span><span class="re1">$iter</span><span class="sy0">.</span><span class="st0">&#39;#&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">fwrite</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$w_id</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;get&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$w_id</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;allready.writed&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$w_id</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;output&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$w_id</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#39;&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span> <span class="re1">$r_</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$r_id</span> <span class="sy0">=</span> <span class="kw2">NULL</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">foreach</span><span class="br0">&#40;</span> <span class="re1">$r_</span> <span class="kw1">as</span> <span class="re1">$id</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;stat&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$id</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#39;control_text&#39;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#39;in reading #&#39;</span><span class="sy0">.</span><span class="re1">$iter</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$r_id</span> <span class="sy0">=</span> <span class="kw3">array_search</span><span class="br0">&#40;</span> <span class="re1">$id</span><span class="sy0">,</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$stream_info</span> <span class="sy0">=</span> <span class="kw3">stream_get_meta_data</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$r_data</span> <span class="sy0">=</span> <span class="kw3">fread</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="nu0">8192</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="kw3">strlen</span><span class="br0">&#40;</span> <span class="re1">$r_data</span> <span class="br0">&#41;</span> <span class="sy0">&gt;</span> <span class="nu0">0</span> <span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;output&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span> <span class="sy0">.=</span> <span class="re1">$r_data</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="re1">$r_data</span> <span class="sy0">=</span> <span class="kw2">NULL</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw3">unset</span><span class="br0">&#40;</span> <span class="re1">$r_data</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re1">$stream_info</span><span class="br0">&#91;</span><span class="st0">&#39;eof&#39;</span><span class="br0">&#93;</span> <span class="sy0">===</span> <span class="kw2">true</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">fclose</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="kw2">NULL</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">unset</span><span class="br0">&#40;</span> <span class="re1">$this</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;conn&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re1">$r_id</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw2">function</span> __destructor<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">unset</span><span class="br0">&#40;</span> <span class="re1">$this</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$new</span> <span class="sy0">=</span> <span class="kw2">new</span> threadetSocketCall<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$header</span> <span class="sy0">=</span> &nbsp;<span class="st0">&quot;GET __get__ HTTP/1.1<span class="es0">\n</span>&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;Host: __host__<span class="es0">\n</span>&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13<span class="es0">\n</span>&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;Accept-Language: en-us,en;q=0.5<span class="es0">\n</span>&quot;</span><span class="sy0">.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;Connection: close<span class="es0">\n</span><span class="es0">\n</span>&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$host</span> <span class="sy0">=</span> <span class="st0">&#39;localhost&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$new</span><span class="sy0">-&gt;</span><span class="me1">mHostAddConnect</span><span class="br0">&#40;</span> <span class="re1">$host</span><span class="sy0">.</span><span class="st0">&#39;:80&#39;</span><span class="sy0">,</span> <span class="kw3">preg_replace</span><span class="br0">&#40;</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;/__host__/i&#39;</span><span class="sy0">,</span> <span class="st0">&#39;/__get__/i&#39;</span> <span class="br0">&#41;</span><span class="sy0">,</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="re1">$host</span><span class="sy0">,</span> <span class="st0">&#39;/&#39;</span> <span class="br0">&#41;</span><span class="sy0">,</span> <span class="re1">$header</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$new</span><span class="sy0">-&gt;</span><span class="me1">getResults</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">print_r</span><span class="br0">&#40;</span> <span class="re1">$new</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;output&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="co2"># html file to parse</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$parser</span> <span class="sy0">=</span> <span class="kw2">new</span> htmlTagParser<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$parser</span><span class="sy0">-&gt;</span><span class="me1">mSetContent</span><span class="br0">&#40;</span> <span class="re1">$new</span><span class="sy0">-&gt;</span><span class="me1">namespace</span><span class="br0">&#91;</span><span class="st0">&#39;output&#39;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$parser</span><span class="sy0">-&gt;</span><span class="me1">mParseTags</span><span class="br0">&#40;</span> <span class="kw3">array</span><span class="br0">&#40;</span> <span class="st0">&#39;a&#39;</span><span class="sy0">,</span> <span class="st0">&#39;title&#39;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$aTags</span> <span class="sy0">=</span> <span class="re1">$parser</span><span class="sy0">-&gt;</span><span class="me1">mGetTags</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">print_r</span><span class="br0">&#40;</span> <span class="re1">$aTags</span> <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">die</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.belogradchik.biz/php-%d0%b8-threads/2008/04/04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
