Пример #1
0
 public static function onRemoteClose()
 {
     echo "Waring channel connection closed and try to reconnect\n";
     self::$_remoteConnection = null;
     self::clearTimer();
     self::$_reconnectTimer = Timer::add(1, 'Channel\\Client::connect', array(self::$_remoteIp, self::$_remotePort));
 }
Пример #2
0
 public static function connect($ip = '127.0.0.1', $port = 2206)
 {
     if (!self::$_remoteConnection) {
         self::$_remoteIp = $ip;
         self::$_remotePort = $port;
         self::$_remoteConnection = new AsyncTcpConnection('Text://' . self::$_remoteIp . ':' . self::$_remotePort);
         self::$_remoteConnection->onClose = 'Channel\\Client::onRemoteClose';
         self::$_remoteConnection->onConnect = 'Channel\\Client::onRemoteConnect';
         self::$_remoteConnection->onMessage = function ($connection, $data) {
             $data = unserialize($data);
             call_user_func(Client::$onMessage, $data['channel'], $data['data']);
         };
         self::$_remoteConnection->connect();
     }
 }