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

按照文檔分離mvc層寫邏輯出現(xiàn)stream_socket_sendto(): ??????????????????е?????

wubojing

在調(diào)用 Gateway::bindUid()的時候一直報這個錯 剛開始有時候還可以通過,現(xiàn)在都不行了,轉(zhuǎn)碼也解決不了這個亂碼的問題 ,不知道怎么定位這個bug,有遇到過這個坑的兄dei麻煩幫幫忙 ,兩天都沒解決掉 很煩
[attach]1017[/attach]

11427 5 0
5個回答

maq

你在哪里看到的這個亂碼報錯信息?瀏覽器里還是命令行窗口?

  • wubojing 2018-04-24

    瀏覽器,從event把client_id傳到瀏覽器,再從瀏覽器通過ajax請求mvc的控制器,通過F12的network審查視圖

  • maq 2018-04-25

    ajax 請求的 PHP 程序是在 web 容器里執(zhí)行的,而 Gateway::bindUid() 里面是異步的 socket 通信,應該在 CLI 里執(zhí)行才對。所以你這種用法恐怕是有問題的。

  • SimplerWorker 2018-05-18

    @3346: 我的代碼如下,幫忙看看是什么問題? thinkPHP5 主動推送失敗,也是這個問題,看下一條評論,我把代碼和截圖發(fā)在下面,多謝!

SimplerWorker
namespace app\worker\controller;
use \GatewayWorker\Lib\Gateway;
use think\Db;
use think\Controller;

class Index extends Controller{
    public function initUser(){
        $uid = input('post.uid');
        $client_id = input('post.client_id');
//        $uid = $uid ? $uid : 1;
//        $client_id = $client_id ? $client_id : "7f00000108fc00000006";
        Gateway::$registerAddress = '0.0.0.0:1236';
        Gateway::bindUid($client_id, $uid);   // 執(zhí)行到這里就報錯了
        Gateway::joinGroup($client_id, $uid);
        dump($uid);
        dump($client_id);
    }
    public function doSomeThing(){
        $arr = Db::query("select * from sw_user");
        $json = json_encode($arr,true);
        $uid = input('post.uid');
        dump($json);
        if(!is_array($json)){
//            Gateway::sendToAll($json);
//           Gateway::sendToClient($client_id,$json);
            Gateway::sendToUid($uid,$json);
            Gateway::sendToGroup($uid,$json);
        }
    }
}
  • 暫無評論
walkor 打賞

看下gatewayClient版本和gateway版本是否一致,不一致無法通訊

  • SimplerWorker 2018-05-18

    在thinkPHP5中使用composer安裝的workerman和gatewayworker,gatewayworker是3.0.8,gatewayclient中沒找到版本號,不過我從GitHub下載的gatewayclient3.0.8對比,代碼沒什么差別!

SimplerWorker

我把問題具體描述下, thinkPHP5 使用composer安裝了workerman、workerman-for-win、gatewayworker、gatewayworker-for-win,然后網(wǎng)頁和gateway正常建立webSocket連接,根據(jù)gatewayworker文檔,網(wǎng)頁給thinkPHP5異步發(fā)送init請求時,出現(xiàn)了如下問題:

Windows開機后首次執(zhí)行 php register.php gateway.php businessworker.php , 多個網(wǎng)頁之間能正常通訊(通過文檔的集成MVC的流程)
當我關閉 cmd , 再次執(zhí)行 php register.php gateway.php businessworker.php 時,多個網(wǎng)頁重新刷新網(wǎng)頁,執(zhí)行到 Gateway::bindUid($client_id, $uid); 這里就報錯了,報錯跟樓主的一樣
遇到這問題,每次我都要重啟電腦,才能正常,求解、

( 我的代碼)

namespace app\worker\controller;
use \GatewayWorker\Lib\Gateway;
use think\Db;
use think\Controller;

class Index extends Controller{
public function initUser(){
$uid = input('post.uid');
$client_id = input('post.client_id');
// $uid = $uid ? $uid : 1;
// $client_id = $client_id ? $client_id : "7f00000108fc00000006";
Gateway::$registerAddress = '127.0.0.1:1236';
Gateway::bindUid($client_id, $uid); // 執(zhí)行到這里就報錯了
Gateway::joinGroup($client_id, $uid);
dump($uid);
dump($client_id);
}
public function doSomeThing(){
$arr = Db::query("select * from sw_user");
$json = json_encode($arr,true);
$uid = input('post.uid');
dump($json);
if(!is_array($json)){
// Gateway::sendToAll($json);
// Gateway::sendToClient($client_id,$json);
Gateway::sendToUid($uid,$json);
Gateway::sendToGroup($uid,$json);
}
}
}

  • walkor 2018-05-18

    把workerman-for-win 和 gatewayworker-for-win都刪掉,這兩個項目是過時的項目。新版本的workerman和gatewayworker是支持windows系統(tǒng)的。

  • SimplerWorker 2018-05-25

    多謝

  • stop 2018-06-08

    @3963:請問你的問題解決了嗎?我也遇到了同樣的問題也找不到原因

bianchao1

我遇到這個問題,是windows系統(tǒng),register正常啟動后ctrl+c關閉了,再啟動register時,thinkPHP框架內(nèi)的gatewayclient就無法鏈接register了,這時候重啟一下Apache,就又可以鏈接register的端口了。感覺還是windows系統(tǒng)或者是Apache(我用的PHPstudy)的問題,希望遇到這個問題的人,試一下方法是不是有效,也希望walkor查找下問題原因。
我用的最新的gatewayworker(win&linux)

  • aacsok 2018-12-04

    我現(xiàn)在情況跟你一樣,請問解決了嗎

年代過于久遠,無法發(fā)表回答
??