2016-11-02 8 views
3

ここにコーディングエラーがあるようですが、多分誰かが私を助けることができます。 例:PHP pthreads:他のオブジェクトのメソッドを非同期で実行するスレッドがありません

class test { 

     public function check() { 
     $fp = fsockopen('10.10.5.55','80', $errno, $errstr, 1.5); 
     } 

    } 

    class Main extends Thread { 

     public function run() { 
     $N = new test(); 
     $N->check(); 
     } 

    } 

    $N = new Main(); 
    $N->start(); 

通常、これはスレッドであるため、私は仕事が非同期に行われるが、それはないされていることを、期待します。それは接続が応答を得るまで待っています、何が間違っていましたか?

ありがとうございました。

+0

を実行するのだろうか? – num8er

答えて

0

あなたは同じクラスに入れてみましたか?fsockopenをクラス "Main"の構築関数の中に入れてみましたか?

+0

これで問題は解決されません。私がメインに関数を移動しても、私はまだ問題があります。デベロッパーは私のコードに問題があると教えてくれました。 – Ne00n

0

クラスのテスト{

public function check() { 
    $fp = fsockopen('10.10.5.55','80', $errno, $errstr, 1.5); 
    } 

} 

class Main extends Thread { 

    public function run() { 
    $N = new test(); 
    while(true){ 
    $N->check(); 
    } 

    } 

} 

$N = new Main(); 
$N->start(); 

これは今、なぜわずか1秒の接続タイムアウトとカールGETリクエストをしないたびにparrallel

関連する問題