gateway workers 例子使用 連上后了,客戶端沒發(fā)消息后就斷了
但是沒觸發(fā)到onclose(),客戶端沒收到斷開后反饋的消息
這樣是正常的嗎?
客戶端測(cè)試是:telnet xx.xx.xx.xx 10069
stay_gateway.php 如下
use \Workerman\Worker;
use \Workerman\WebServer;
use \GatewayWorker\Gateway;
use \GatewayWorker\BusinessWorker;
use \Workerman\Autoloader;
// 自動(dòng)加載類
require_once __DIR__ . '/../../vendor/autoload.php';
$gateway = new Gateway("text://0.0.0.0:10069");
// gateway名稱,status方便查看
$gateway->name = 'cdbAppGateway';
// 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';
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
請(qǐng)問如何在業(yè)務(wù)系統(tǒng)里 發(fā)數(shù)據(jù)給客戶端
先保存clientid
在業(yè)務(wù)系統(tǒng)里的文件里:
use \GatewayWorker\Lib\Gateway;
Gateway::sendToClient
這樣是否可行?
還是得設(shè)置路由,另外文件處理?
你好。請(qǐng)問服務(wù)端可以不自動(dòng)關(guān)閉嗎?是默認(rèn)有到了時(shí)間自動(dòng)關(guān)閉的嗎?
我這里用 客戶端:telnet xx.xx.xx.xx 10069 測(cè)試了下,但是過了一個(gè)時(shí)間他關(guān)掉了,數(shù)據(jù)發(fā)送給服務(wù)端沒反饋
請(qǐng)問,我在業(yè)務(wù)系統(tǒng)里使用了GatewayClient, 我這個(gè)端口和IP設(shè)置對(duì)了嗎?
[attach]671[/attach]
現(xiàn)在start_register.php:
[attach]672[/attach]
start_gateway.php:
[attach]673[/attach]
你好。請(qǐng)問下就是在使用這個(gè)GatewayClient的時(shí)候,如果業(yè)務(wù)系統(tǒng)里保存了$client_id,
還需要先綁定uid和$client_id,再getClientIdByUid,sendToUid的方式發(fā)送嗎?
直接發(fā)送 Gateway::sendToClient($client_id, $data); 是不是也是可以的?
walkor大神,現(xiàn)在是這樣問題:
gateway 和businessworker都是4個(gè)進(jìn)程
客戶端每一分鐘發(fā)一個(gè)心跳,客戶端達(dá)到300個(gè)時(shí),就不能在onMessage里用Gateway::sendToClient發(fā)數(shù)據(jù),我是在onMessage里發(fā)數(shù)據(jù)和保存數(shù)據(jù)到數(shù)據(jù)庫
但是talent 模擬onConnect是走的,都在同一臺(tái)服務(wù)器