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

GatewayClient調用失敗

chaogel

web項目中直接進行下面調用

Gateway::isOnline("7f0000010b5600000006")

報錯

[attach]193[/attach]

9458 11 0
11個回答

chaogel

問題補充,在服務器A部署了GatewayWorker

在服務器B使用GatewayClient發(fā)送消息

  • 暫無評論
aguai

在服務器A部署了GatewayWorker,那你在B調用為什么要 connect 127.0.0.1?

  • chaogel 2015-12-17

    直接用的GatewayClient,地址是他內部解析出來的

  • chaogel 2015-12-17

    我也比較納悶,不曉得是不是哪里配置的問題,但是我是按照手冊上面配置的啊

walkor 打賞

貼下workerman的status
start_gateway.php代碼
和GatewayClient調用的代碼

  • chaogel 2015-12-17

    見下面回復

  • chaogel 2015-12-17

    GatewayWorker服務器和客戶端是可以正常通信的

  • chaogel 2015-12-17

    注冊服務器地址是直接改在引入的Gateway.php里面的

chaogel

調用就是按照手冊寫,就只有一行

Gateway::isOnline("7f0000010b5600000006")
[attach]194[/attach]

[attach]195[/attach]

  • 暫無評論
walkor 打賞

調用代碼應該是這樣

Gateway::$registerAddress = 'A服務器ip:1238';
Gateway::isOnline("7f0000010b5600000006");

另外把start_gateway.php中的lanip改成服務器A的ip(要在其它服務器上推送不能寫127.0.0.1),如果服務器A B都在一個內網,ip就寫成服務器A的內網ip,否則寫外網ip

chaogel

$gateway->name = 'YourAppGateway';
// gateway進程數(shù)
$gateway->count = 4;
// 本機ip,分布式部署時使用內網ip

$gateway->lanIp = '114.119.44.225';

// 內部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會使用4000 4001 4002 4003 4個端口作為內部通訊端口
$gateway->startPort = 2900;
// 服務注冊地址
$gateway->registerAddress = '127.0.0.1:1238';

改成外網ip后啟動
[attach]197[/attach]
報錯

  • 暫無評論
walkor 打賞

應該lanip寫錯了,看看你服務器IP寫的是不是你那個服務器的IP

  • chaogel 2015-12-17

    沒有錯,寫內網ip就可以,寫外網ip就啟動不了

  • walkor 2015-12-17

    出錯的服務器運行命名
    ip addr
    貼下

  • chaogel 2015-12-17

    @1:見下面回復

chaogel

[attach]198[/attach]

  • 暫無評論
walkor 打賞

ip addr 里面根本沒這個ip 114.119.44.225的網卡嘛
lanip盡量用內網ip,內網ip能用就用內網ip吧

  • chaogel 2015-12-17

    什么意思,不懂,我的域名也是綁定的這個ip,ssh也是連接的這個ip啊

  • chaogel 2015-12-17

    主要是兩個服務器不在同一個子網內

  • walkor 2015-12-17

    ipaddr 上看ip地址114.119.44.225不屬于這臺服務器,所以workerman監(jiān)聽不了這個ip??梢哉壹夹g人員看下為什么這樣,有可能114.119.44.225只是個代理服務器

  • chaogel 2015-12-17

    解決了,監(jiān)聽還是內網的地址,GatewayClient調用時clientIdToAddress,轉換的ip改成服務器外網ip就行了,十分感謝!

  • walkor 2015-12-17

    聰明

  • weisswm 2017-01-27

    @713:clientIdToAddress 轉換后的結果Array ( [local_ip] => 2130706433 [local_port] => 2900 [connection_id] => 1 ),怎么改成你說的 轉換的ip改成服務器外網ip??

  • linjiangl 2018-04-09

    同問樓上問題

sharf

start_register.php start_gateway.php start_businessworker.php
里的ip都改為服務器的真實ip ,不要用127.0.0.1

  • 暫無評論
chaogel
    /**
     * client_id到通訊地址的轉換
     * @return array
     */
    public static function clientIdToAddress($client_id)
    {
        if(strlen($client_id) !== 20)
        {
            throw new \Exception("client_id $client_id is invalid");
        }
        $result = unpack('Nlocal_ip/nlocal_port/Nconnection_id' ,pack('H*', $client_id));
        $result = ip2long("服務器外網ip");
        // return unpack('Nlocal_ip/nlocal_port/Nconnection_id' ,pack('H*', $client_id));
        return $result;
    }
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??