參考手冊(cè)里的text協(xié)議,里面說明的文件?start_text_gateway.php
請(qǐng)問出現(xiàn)Cannot assign requested address這個(gè)現(xiàn)象的時(shí)候,修改的是哪個(gè)啟動(dòng)文件?
stream_socket_server(): unable to connect to tcp://45.92.08.22:1238 (Cannot assign requested address) in file /home/www/chaobiao.dazongqiba.top/vendor/workerman/workerman/Worker.php on line 2178
我是直接在網(wǎng)上下載的GatewayWorker文件夾,我是在Event.php文件做邏輯判斷的,其次就是修改了start_businessworker和start_gateway的服務(wù)注冊(cè)地址為0.0.0.0:1238,start_register的text協(xié)議為L(zhǎng)inux服務(wù)器的ip。默認(rèn)的啟動(dòng)文件start.php的代碼:
ini_set('display_errors', 'on');
use Workerman\Worker;
if(strpos(strtolower(PHP_OS), 'win') === 0)
{
exit("start.php not support windows, please use start_for_win.bat\n");
}
// 檢查擴(kuò)展
if(!extension_loaded('pcntl'))
{
exit("Please install pcntl extension. See http://doc3.workerman.net/appe ... .html\n");
}
if(!extension_loaded('posix'))
{
exit("Please install posix extension. See http://doc3.workerman.net/appe ... .html\n");
}
// 標(biāo)記是全局啟動(dòng)
define('GLOBAL_START', 1);
require_once __DIR__ . '/vendor/autoload.php';
// 加載所有Applications//start.php,以便啟動(dòng)所有服務(wù)
foreach(glob(__DIR__.'/Applications//start*.php') as $start_file)
{
require_once $start_file;
}
// 運(yùn)行所有服務(wù)
Worker::runAll();
/*
use \Workerman\Worker;
use \GatewayWorker\Gateway;
use \Workerman\Autoloader;
require_once __DIR__ . '/../../vendor/workerman/workerman/Autoloader.php';
Autoloader::setRootPath(__DIR__);*/
use \Workerman\Worker;
use \GatewayWorker\Gateway;
use \Workerman\Autoloader;
// 自動(dòng)加載類
require_once __DIR__ . '/../../vendor/autoload.php';
// #### 內(nèi)部推送端口(假設(shè)當(dāng)前服務(wù)器內(nèi)網(wǎng)ip為192.168.100.100) ####
// #### 端口不能與原來(lái)start_gateway.php中一樣 ####
$internal_gateway = new Gateway("Text://172.16.0.7:7273");
$internal_gateway->name='internalGateway';
// #### 不要與原來(lái)start_gateway.php的一樣####
// #### 比原來(lái)跨度大一些,比如在原有startPort基礎(chǔ)上+1000 ####
$internal_gateway->startPort = 3300;
// #### 這里設(shè)置成與原start_gateway.php 一樣 ####
$internal_gateway->registerAddress = '127.0.0.1:1238';
// #### 內(nèi)部推送端口設(shè)置完畢 ####
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
我改成這樣才能運(yùn)行
我現(xiàn)在把start_businessworker.php、start_gateway.php的服務(wù)注冊(cè)地址的ip都設(shè)置為0.0.0.0,start_register.php的ip為服務(wù)器的ip,結(jié)果啟動(dòng)start.php 文件的時(shí)候就報(bào)Cannot assign requested address
我是在Linux操作的,如果是127.0.0.1,會(huì)報(bào)錯(cuò)SendBufferToWorker fail. The connections between Gateway and BusinessWorker are not ready??头沁叺慕o我的恢復(fù)是http://wiki.workerman.net/Error3
你那邊跑通的start_businessworker.php、start_gateway.php的服務(wù)注冊(cè)地址的ip設(shè)置為多少的?start_register.php的ip為設(shè)置多少?