国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

GatewayWorker怎么和thinkphp3.2.3整合使用,請大神指點

z325988

我想通過GatewayWorker做一個利用websocket實時推送消息給客戶端的功能(類似股票指數(shù)的實時更新),我現(xiàn)在是通過在event中寫一個 onwebsocketconnect然后利用add方法每兩秒推送一次數(shù)據(jù),這時我的思路是希望在add里面去調(diào)用我在thinkphp里面寫的一個公用方法brokerAccount_data()來把數(shù)據(jù)傳給GatewayWorker,然后再由GatewayWorker傳給客戶端,但是,我現(xiàn)在無法調(diào)到我寫在thinkphp中的函數(shù)。。。還請大神指教,謝謝!

public static function onWebSocketConnect($client_id,$data){
       if ($data != 'http://local.gendan5.com'){
           Gateway::closeClient($data);
       }else{
//           $xmlInfo = brokerAccount_data('xm-zero',2,'./cache/xm-zero');
           Gateway::sendToClient($client_id,json_encode($data));
           \Workerman\Lib\Timer::add(2,function ($client_id,$data){
               Gateway::sendToClient($client_id,json_encode($data));
               require('http://local.gendan5.com/tp/index.php?s=/Home/GwSendMessage');
//               $func = A('Common/function.php');
               $xmlInfo = brokerAccount_data('xm-zero',2);
           },array($client_id,$data));
       }
   }

圖片
?

4746 2 0
2個回答

ysy49271743

這里是無法調(diào)用tp里的公共函數(shù)的,你可以把這個函數(shù)放在gateway里,或者定義一個類,實例化并調(diào)用它

  • z325988 2019-02-26

    你好,感謝你的解答,我后來想了一個方法,通過使用curl去獲取我的這個方法的鏈接的方式,可以拿到數(shù)據(jù)了,但是,又出現(xiàn)了一個問題,就是我需要傳參到這個方法中,但是我不知道應(yīng)該怎么才能夠把我需要的參數(shù)通過前端傳到onwebsocketconnect這個方法中來,這個請問應(yīng)該怎么處理好一點?

    public static function onWebSocketConnect($client_id,$data){
    if ($data['server']['HTTP_ORIGIN'] != 'http://local.gendan5.com'){
    Gateway::closeClient($data['server']['HTTP_ORIGIN']);
    }else{
    Gateway::sendToClient($client_id,json_encode($data));
    \Workerman\Lib\Timer::add(2,function ($client_id,$data){
    $url = 'http://local.gendan5.com/tp/index.php/?s=Home/test/test_file_get_contents';
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $xmlInfo = curl_exec($curl);
    curl_close($curl);
    Gateway::sendToClient($client_id,$xmlInfo);
    },array($client_id,$data));
    }

z325988

我后來想了一個方法,通過使用curl去獲取我的這個方法的鏈接的方式,可以拿到數(shù)據(jù)了,但是,又出現(xiàn)了一個問題,就是我需要傳參到這個方法中,但是我不知道應(yīng)該怎么才能夠把我需要的參數(shù)通過前端傳到onwebsocketconnect這個方法中來,這個請問應(yīng)該怎么處理好一點?

public static function onWebSocketConnect($client_id,$data){
       if ($data != 'http://local.gendan5.com'){
           Gateway::closeClient($data);
       }else{
           Gateway::sendToClient($client_id,json_encode($data));
           \Workerman\Lib\Timer::add(2,function ($client_id,$data){
               $url = 'http://local.gendan5.com/tp/index.php/?s=Home/test/test_file_get_contents';
               $curl = curl_init($url);
               curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
               $xmlInfo = curl_exec($curl);
               curl_close($curl);
               Gateway::sendToClient($client_id,$xmlInfo);
           },array($client_id,$data));
       }
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??