硬件DTU在與服務(wù)器建立了socket連接以后,代碼如下:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
<?php
use Workerman\Worker;
require_once '../workerman-for-win-master/Autoloader.php';
// 創(chuàng)建一個(gè)Worker監(jiān)聽2347端口,不使用任何應(yīng)用層協(xié)議
$tcp_worker = new Worker("tcp://0.0.0.0:2000");
// 啟動(dòng)4個(gè)進(jìn)程對(duì)外提供服務(wù)
$tcp_worker->count = 4;
// 當(dāng)客戶端發(fā)來(lái)數(shù)據(jù)時(shí)
$tcp_worker->onMessage = function($connection, $data)
{
// 向客戶端發(fā)送hello $data
// $connection->send('hello ' . $data);
$result1=$connection->send('01 03 11 00 00 03 00 f7',true);
$result2=$connection->send('01 03 10 00 00 02 c0 cb',true);
};
// 運(yùn)行worker
Worker::runAll();
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
如何接收硬件發(fā)送到服務(wù)器端口的數(shù)據(jù),或者把數(shù)據(jù)輸出來(lái)(輸出到控制臺(tái))。
請(qǐng)大神賜教
onMessage里echo var_dump,前提是workerman是用debug模式啟動(dòng),就是啟動(dòng)時(shí)末尾不加-d
不好意思,最近沒上線。
每臺(tái)DTU都有一個(gè)獨(dú)一無(wú)二的IMEI,在配置DTU時(shí)候,在連接管理的注冊(cè)包里面,添加一下DTU的IMEI,DTU連上服務(wù)器發(fā)的第一條消息就是自己的IMEI,這樣就可以區(qū)分不同的DTU.