Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Асинхронный Web - Web Sockets
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Итак, пришел час расширения протокола HTTP. Теперь он становится асинхронным. В общем-то, не совсем новость, просто более-менее широкий обзор на русском языке я только что нашел:
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Цитата:
Чтобы не создавать ограничений на длину передаваемого сообщения и в тоже время не расходовать байты нерационально, разработчики использовали очень хитрый способ указания длины тела сообщения. Каждый байт в указании длины рассматривается по частям: самый старший бит указывает является ли этот байт последним (0) либо же за ним есть другие (1), а младшие 7 битов содержат собственно данные
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
movEAX
Отправлено: 25 Декабря, 2009 - 13:05:11
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
EuGen пишет:
Каждый байт в указании длины рассматривается по частям: самый старший бит указывает является ли этот байт последним (0) либо же за ним есть другие (1), а младшие 7 битов содержат собственно данные
Старший бит не учитываем, ок, тогда получаеться следующее:
0x81 => 1000 0001 => не учитываем старший бит =>0000 0001 =>1;
0x20 => 0010 0000 => не учитываем старший бит =>0010 0000 =>32;
32+1 = 33...
Хотя, если поразмышлять, то можно предположить, что автор ошибся в местоположении старшего бита.
т.е. все выглядит теперь так:
0x81 => 1000 0001 => не учитываем неправильный старший бит =>1000 0000 =>128;
0x20 => 0010 0000 => не учитываем неправильный старший бит =>0010 0000 =>32;
32+128 = 160...
Старший бит - крайний слева. Не так ли?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.