コード例 #1
0
ファイル: command.php プロジェクト: nahakyuu/dts
                if (!$flag) {
                    __SOCKET_ERRORLOG__("未找到在线的服务器。");
                }
                if ($chosen == -1) {
                    $z = rand(0, count($srvlist) - 1);
                    $chosen = $srvlist[$z];
                    touch(GAME_ROOT . './gamedata/tmp/server/request_new_server');
                    __SOCKET_LOG__("没有服务器空闲,已请求脚本启动新服务器。");
                }
                __SOCKET_DEBUGLOG__("选择了端口号为 " . $chosen . '的服务器 。');
                $___TEMP_CONN_PORT = $chosen;
            } else {
                __SOCKET_ERRORLOG__('无法打开gamedata/tmp/server目录。');
            }
            __SOCKET_SEND_TO_SERVER__();
            __SOCKET_DEBUGLOG__('Client执行完成。');
            die;
        } else {
            //否则是由server自行引用的command.php,开始执行
            $pagestartime = microtime(true);
        }
    }
} else {
    $pagestartime = microtime(true);
    require GAME_ROOT . './include/common.inc.php';
    $timecost2 = get_script_runtime($pagestartime);
}
////////////////////////////////////////////////////////////////////////////
//////////////////////////游戏前玩家信息检查///////////////////////////////////
////////////////////////////////////////////////////////////////////////////
if (!$cuser || !$cpass) {
コード例 #2
0
ファイル: socket.func.php プロジェクト: winddramon/dts
function __SEND_STOP_CMD__($port)
{
    $___TEMP_socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if ($___TEMP_socket === false) {
        __SOCKET_WARNLOG__("警告:socket_create失败。");
        return false;
    }
    $___TEMP_connected = socket_connect($___TEMP_socket, '127.0.0.1', $port);
    if (!$___TEMP_connected) {
        __SOCKET_WARNLOG__("警告:socket_connect失败。");
        return false;
    }
    //允许3秒等待
    if (!__SOCKET_CHECK_WITH_TIMEOUT__($___TEMP_socket, 'w', 3, 0)) {
        __SOCKET_WARNLOG__("警告:socket_write等待时间过长。");
        return false;
    }
    //发送消息给server
    global $___MOD_CONN_PASSWD;
    if (!socket_write($___TEMP_socket, $___MOD_CONN_PASSWD . 'stop' . "\n")) {
        __SOCKET_WARNLOG__("警告:socket_write失败");
        return false;
    }
    __SOCKET_DEBUGLOG__("消息已成功发送,关闭连接。");
    socket_shutdown($___TEMP_socket);
    //关闭socket
    return true;
}