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