先上代码:
start_gateway.php中代码
$gateway->onConnect = function($connection)
{
$connection->onWebSocketConnect = function($connection)
{
echo 'onWebSocketConnect ',microtime(true),PHP_EOL;
};
};
Events.php中代码
public static function onConnect($client_id) {
if (!Gateway::isOnline($client_id)) { //不在线直接则停止
echo $client_id,'connect offline!--',microtime(true),PHP_EOL;
return;
}
}
gateway、register和business都部署在同一台机器上。前端是Android和iOS客户端,采取debug模式运行后效果却是:
0abb9319125700000001connect offline! 1495246926.5182
0abb9319125500000001connect offline! 1495246928.9723
0abb9319125a00000002connect offline! 1495246932.5184
为什么没有打印出 onWebSocketConnect 中的代码 “onWebSocketConnect ”??
难道是没经过三次握手???
看起来是tcp握手完成后,客户端没发任何数据就断开了链接导致的。
可能是LVS的心跳检测。