public function dealProcess($recv_str)
{
$pack = new GatewayProtocol($recv_str);
Context::$client_ip = $pack->header['client_ip'];
Context::$client_port = $pack->header['client_port'];
Context::$local_ip = $pack->header['local_ip'];
Context::$local_port = $pack->header['local_port'];
Context::$socket_id = $pack->header['socket_id'];
Context::$uid = $pack->header['uid'];
switch ($pack->header['cmd']) {
case GatewayProtocol::CMD_ON_CONNECTION:
$ret = call_user_func_array(array('Event', 'onConnect'), array($pack->body));
break;
case GatewayProtocol::CMD_ON_MESSAGE:
$ret = call_user_func_array(array('Event', 'onMessage'), array(Context::$uid, $pack->body));
break;
case GatewayProtocol::CMD_ON_CLOSE:
$ret = call_user_func_array(array('Event', 'onClose'), array(Context::$uid));
break;
}
Context::clear();
return $ret;
}