Quellcode durchsuchen

remove gatwayProtocol

walkor vor 10 Jahren
Ursprung
Commit
337f442b4b
1 geänderte Dateien mit 0 neuen und 161 gelöschten Zeilen
  1. 0 161
      Protocols/GatewayProtocol.php

+ 0 - 161
Protocols/GatewayProtocol.php

@@ -1,161 +0,0 @@
-<?php 
-/**
- * This file is part of workerman.
- *
- * Licensed under The MIT License
- * For full copyright and license information, please see the MIT-LICENSE.txt
- * Redistributions of files must retain the above copyright notice.
- *
- * @author walkor<walkor@workerman.net>
- * @copyright walkor<walkor@workerman.net>
- * @link http://www.workerman.net/
- * @license http://www.opensource.org/licenses/mit-license.php MIT License
- */
-namespace Workerman\Protocols;
-
-/**
- * Gateway与Worker间通讯的二进制协议
- * 
- * struct GatewayProtocol
- * {
- *     unsigned int        pack_len,
- *     unsigned char     cmd,//命令字
- *     unsigned int        local_ip,
- *     unsigned short    local_port,
- *     unsigned int        client_ip,
- *     unsigned short    client_port,
- *     unsigned int        client_id,
- *     unsigned char      flag,
- *     unsigned int        ext_len,
- *     char[ext_len]        ext_data,
- *     char[pack_length-HEAD_LEN] body//包体
- * }
- * 
- */
-class GatewayProtocol
-{
-    // 发给worker,gateway有一个新的连接
-    const CMD_ON_CONNECTION = 1;
-    
-    // 发给worker的,客户端有消息
-    const CMD_ON_MESSAGE = 3;
-    
-    // 发给worker上的关闭链接事件
-    const CMD_ON_CLOSE = 4;
-    
-    // 发给gateway的向单个用户发送数据
-    const CMD_SEND_TO_ONE = 5;
-    
-    // 发给gateway的向所有用户发送数据
-    const CMD_SEND_TO_ALL = 6;
-    
-    // 发给gateway的踢出用户
-    const CMD_KICK = 7;
-    
-    // 发给gateway,通知用户session更改
-    const CMD_UPDATE_SESSION = 9;
-    
-    // 获取在线状态
-    const CMD_GET_ONLINE_STATUS = 10;
-    
-    // 判断是否在线
-    const CMD_IS_ONLINE = 11;
-    
-    // 包体是标量
-    const FLAG_BODY_IS_SCALAR = 0x01;
-    
-    /**
-     * 包头长度
-     * @var integer
-     */
-    const HEAD_LEN = 26;
-    
-    public static $empty = array(
-        'cmd' => 0,
-        'local_ip' => '0.0.0.0',
-        'local_port' => 0,
-        'client_ip' => '0.0.0.0',
-        'client_port' => 0,
-        'client_id' => 0,
-        'flag' => 0,
-        'ext_data' => '',
-        'body' => '',
-    );
-     
-    /**
-     * 返回包长度
-     * @param string $buffer
-     * @return int return current package length
-     */
-    public static function input($buffer)
-    {
-        if(strlen($buffer) < self::HEAD_LEN)
-        {
-            return 0;
-        }
-        
-        $data = unpack("Npack_len", $buffer);
-        return $data['pack_len'];
-    }
-    
-    /**
-     * 获取整个包的buffer
-     * @param array $data
-     * @return string
-     */
-    public static function encode($data)
-    {
-        $flag = (int)is_scalar($data['body']);
-        if(!$flag)
-        {
-            $data['body'] = serialize($data['body']);
-        }
-        $ext_len = strlen($data['ext_data']);
-        $package_len = self::HEAD_LEN + $ext_len + strlen($data['body']);
-        return pack("NCNnNnNNC",  $package_len,
-                        $data['cmd'], ip2long($data['local_ip']), 
-                        $data['local_port'], ip2long($data['client_ip']), 
-                        $data['client_port'], $data['client_id'],
-                       $ext_len, $flag) . $data['ext_data'] . $data['body'];
-    }
-    
-    /**
-     * 从二进制数据转换为数组
-     * @param string $buffer
-     * @return array
-     */    
-    public static function decode($buffer)
-    {
-        $data = unpack("Npack_len/Ccmd/Nlocal_ip/nlocal_port/Nclient_ip/nclient_port/Nclient_id/Next_len/Cflag", $buffer);
-        $data['local_ip'] = long2ip($data['local_ip']);
-        $data['client_ip'] = long2ip($data['client_ip']);
-        if($data['ext_len'] > 0)
-        {
-            $data['ext_data'] = substr($buffer, self::HEAD_LEN, $data['ext_len']);
-            if($data['flag'] & self::FLAG_BODY_IS_SCALAR)
-            {
-                $data['body'] = substr($buffer, self::HEAD_LEN + $data['ext_len']);
-            }
-            else
-            {
-                $data['body'] = unserialize(substr($buffer, self::HEAD_LEN + $data['ext_len']));
-            }
-        }
-        else
-        {
-            $data['ext_data'] = '';
-            if($data['flag'] & self::FLAG_BODY_IS_SCALAR)
-            {
-                $data['body'] = substr($buffer, self::HEAD_LEN);
-            }
-            else
-            {
-                $data['body'] = unserialize(substr($buffer, self::HEAD_LEN));
-            }
-        }
-        return $data;
-    }
-}
-
-
-