Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.10.2010, 03:54
Аватар для Jekel
Профессор
Отправить личное сообщение для Jekel Посмотреть профиль Найти все сообщения от Jekel
 
Регистрация: 20.11.2009
Сообщений: 257

С помощью неких личностей написал такое...но работает не коректно, выдает не полный ответ...читает мало с базы( должно читать 121 строку, читает и выдает 35+-
$userdat = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE id='1'"));
	
    $count = 0; 
    $arr_x = array();
    $arr_y = array();
	
    for ($y=$userdat["y"]-5; $y<=$userdat["y"]+5; $y++){ 
        $arr_y[] = $y;
        for ($x=$userdat["x"]-5; $x<=$userdat["x"]+5; $x++){
            $arr_x[] = $x;
		}
	}
    $resource = mysql_query("SELECT * FROM `map` WHERE `loc` = 0 AND `x` IN (" . join(',', $arr_x) . ") AND `y` IN (" . join(',', $arr_y) . ")");
	
    while($data_map = mysql_fetch_assoc($resource)){
        $session_name = "x" . $count;
        if (empty($data_map['img'])) continue;
        if ($_SESSION[$session_name] != $data_map['img']){ 
            $_SESSION[$session_name] = $data_map["img"]; 
            $map .= "<d" . $count . ">" . $_SESSION[$session_name] . "</d" . $count . ">"; 
        }else{ 
            if ($_SESSION[$session_name]){
                $_SESSION[$session_name] = 0;
                $map .= "<d" . $count . ">" . $_SESSION[$session_name] . "</d" . $count .">"; 
            }
        } 
		
		$count++; 
    }
Ответить с цитированием
  #12 (permalink)  
Старый 20.10.2010, 09:12
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Jekel
if (empty($data_map['img'])) continue;
оно, нэ?
Ответить с цитированием
  #13 (permalink)  
Старый 20.10.2010, 09:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Jekel
надо меньше 100ms ибо запросы на серв каждых 100мс поступают
А сетевые задержки вы не учитываете?
Ответить с цитированием
  #14 (permalink)  
Старый 20.10.2010, 09:55
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

кстати!
это да.
вам нужно либо сокеты использовать, либо уменьшить частоту запросов
хотя и сокеты могу не сильно-то помочь
Ответить с цитированием
  #15 (permalink)  
Старый 20.10.2010, 12:20
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Часто ли от клиента дожна идти какая-то информация? Часто ли будут меняться переданные данные?

Если данные меняются относительно редко (раз в несколько секунд), можно использовать COMET, чтобы не гнать клиенту одинаковые данные.

Если достаточно часто, то можно устроить некое подобие event-source (IE с файрфоксом, насколько я знаю, event-source не умеют). А именно — в старых добрых традициях чата Бородина слать последовательно теги <script> в скрытый ифрейм. Тогда можно сэкономить время на SYN→ACK→SYN-ACK и передаче заголовков запроса и ответа.

Другие предложения? Самому интересно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск