項(xiàng)目A:GatewayWorker
項(xiàng)目B:home
項(xiàng)目A與項(xiàng)目B同級(jí)目錄
項(xiàng)目需求:A負(fù)責(zé)接收硬件反饋回來(lái)的信息(TCP協(xié)議),并存儲(chǔ)數(shù)據(jù)庫(kù),B負(fù)責(zé)提交請(qǐng)求給硬件,通過(guò)websocket提交到Even.php 然后Even.php 處理后 提交到硬件(TCP);
項(xiàng)目B是TP框架的一個(gè)項(xiàng)目
現(xiàn)在是這樣:
在項(xiàng)目A中 start_gateway.php 定義TCP協(xié)議:
// 自動(dòng)加載類
require_once __DIR__ . '/../../Workerman/Autoloader.php';
Autoloader::setRootPath(__DIR__);
// gateway 進(jìn)程
$gateway = new Gateway("tcp://0.0.0.0:7659");
// gateway名稱,status方便查看
$gateway->name = 'YourAppGateway';
// gateway進(jìn)程數(shù)
$gateway->count = 4;
// 本機(jī)ip,分布式部署時(shí)使用內(nèi)網(wǎng)ip
$gateway->lanIp = '127.0.0.1';
// 內(nèi)部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會(huì)使用4000 4001 4002 4003 4個(gè)端口作為內(nèi)部通訊端口
$gateway->startPort = 2900;
// 服務(wù)注冊(cè)地址
$gateway->registerAddress = '127.0.0.1:1238';
在項(xiàng)目A中新建start_websocket.php 負(fù)責(zé)接收http
require_once __DIR__ . '/../../Workerman/Autoloader.php';
Autoloader::setRootPath(__DIR__);
// WebServer
$web = new WebServer("http://0.0.0.0:55150");
// WebServer數(shù)量
$web->count = 2;
// 設(shè)置服務(wù)注冊(cè)地址
$web->registerAddress = '127.0.0.1:1238';
// 設(shè)置站點(diǎn)根目錄
$web->addRoot('www.your_domain.com', __DIR__.'/../../../home/');
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
在項(xiàng)目B中 index.html中JS如下:
<script type="text/javascript">
$(function(){
connect();
});
// 連接服務(wù)端
function connect() {
// 創(chuàng)建websocket
ws = new WebSocket("ws://"+document.domain+":55150");
// 當(dāng)socket連接打開時(shí),輸入用戶名
}
</script>
可是現(xiàn)在運(yùn)行程序后會(huì)出現(xiàn)錯(cuò)誤:WORKER EXIT UNEXPECTED
這個(gè)是什么原因?