<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр / Комментарии к посту «WebSockets — полноценный асинхронный веб» в блоге «Веб-разработка»</title>
	<link>http://habrahabr.ru/rss/post/79038/</link>
	<description><![CDATA[Новые комментарии к посту «WebSockets — полноценный асинхронный веб» в блоге «Веб-разработка»]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 13:09:28 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	

	
	
	
	
	
		
	
		<item>
			<title>15.08.2011 19:31:52 WiZ_Ed</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_4162932</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_4162932</link>
			<description><![CDATA[Просто был комментарий на ЛОРе.<br/>
Было без аргументации.<br/>
Но если нет, то хорошо.<br/>
Спасибо за ответ.]]></description>
			<pubDate>Mon, 15 Aug 2011 19:31:52 GMT</pubDate>
			<author>WiZ_Ed</author>
		</item>
	

	
		<item>
			<title>15.08.2011 14:57:36 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_4162239</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_4162239</link>
			<description><![CDATA[Ссылочку подкинете?<br/>
Самому стало интересно как это может быть :)]]></description>
			<pubDate>Mon, 15 Aug 2011 14:57:36 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>15.08.2011 14:56:27 WiZ_Ed</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_4162237</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_4162237</link>
			<description><![CDATA[Не дать другим.<br/>
Просто на одном из сайтов видел комментарий, что вроде даст такую возможность.<br/>
Вот и возникли сомнения.<br/>
]]></description>
			<pubDate>Mon, 15 Aug 2011 14:56:27 GMT</pubDate>
			<author>WiZ_Ed</author>
		</item>
	

	
		<item>
			<title>15.08.2011 14:11:26 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_4162070</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_4162070</link>
			<description><![CDATA[Технология не имеет отношения к запретам на вконтакте.<br/>
<br/>
P.S. Вы хотите обойти этот запрет или наоборот не дать другим обходить их?]]></description>
			<pubDate>Mon, 15 Aug 2011 14:11:26 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>15.08.2011 14:09:08 WiZ_Ed</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_4162056</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_4162056</link>
			<description><![CDATA[А благодаря этой технологии запреты на вконтакте можно будет обойти?<br/>
Если да, то как с этим бороться?]]></description>
			<pubDate>Mon, 15 Aug 2011 14:09:08 GMT</pubDate>
			<author>WiZ_Ed</author>
		</item>
	

	
		<item>
			<title>13.06.2011 20:20:25 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3982730</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3982730</link>
			<description><![CDATA[:))<br/>
если тема интересна — то почему нет :)]]></description>
			<pubDate>Mon, 13 Jun 2011 20:20:25 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>13.06.2011 07:14:16 megido</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3981237</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3981237</link>
			<description><![CDATA[афигеть, вы уже полтора года отвечаете на комментарии данного поста! ]]></description>
			<pubDate>Mon, 13 Jun 2011 07:14:16 GMT</pubDate>
			<author>megido</author>
		</item>
	

	
		<item>
			<title>01.06.2011 20:18:13 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3948185</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3948185</link>
			<description><![CDATA[Так и не понял, что же вас смущает? Оверхед из-за того, что поле получается чуть длиннее, чем если записать в банальный uint32? Сложность обработки? ]]></description>
			<pubDate>Wed, 01 Jun 2011 20:18:13 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>01.06.2011 20:13:54 romy4</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3948168</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3948168</link>
			<description><![CDATA[блин, ошибся веткой. ответ ниже <a href="http://habrahabr.ru/blogs/webdev/79038/#comment_3948167">habrahabr.ru/blogs/webdev/79038/#comment_3948167</a>]]></description>
			<pubDate>Wed, 01 Jun 2011 20:13:54 GMT</pubDate>
			<author>romy4</author>
		</item>
	

	
		<item>
			<title>01.06.2011 20:13:36 romy4</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3948167</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3948167</link>
			<description><![CDATA[не путаю. у меня конкретный вопрос про указание длины в странном формате, а не uint32 и даже не uint64 которые накладывает на обе стороны ещё дополнительные преобразования, занимающие время.]]></description>
			<pubDate>Wed, 01 Jun 2011 20:13:36 GMT</pubDate>
			<author>romy4</author>
		</item>
	

	
		<item>
			<title>01.06.2011 19:53:42 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3948111</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3948111</link>
			<description><![CDATA[У меня сложилось впечатление, что вы путаете 1) установочные заголовки соединения — то есть те, которые отправляются только при открытии сокета, и 2) рабочие заголовки — то есть те, которые отправляются при каждом сообщении.<br/>
<br/>
1) Это большой блок начинающийся с GET c Upgrade и прочим — это все будет отправлено только вначале и только 1 раз, на этапе установления соединения.<br/>
После чего сокет остается открытым.<br/>
<br/>
2) После установления соединения, каждое сообщение имеет заголовок.<br/>
Если это текстовое сообщение, то вначале его идет байт 0х00, а в конце 0xFF.<br/>
Если это бинарное сообщение, то вначале его будет 0x80, потом то самое указание длины, а после тела сообщения ничего не будет.<br/>
После каждого сообщения сокет остается открытым и готовым передавать новые данные.<br/>
<br/>
Пос]]></description>
			<pubDate>Wed, 01 Jun 2011 19:53:42 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>01.06.2011 12:01:43 romy4</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3946696</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3946696</link>
			<description><![CDATA[если за один раз можно отправить только один пакет данных размером N, то да, а если сокет не закрывается после отправки данных, то тогда непонятно. заголовок, я так понимаю, только один раз отправляется при установления соединения.]]></description>
			<pubDate>Wed, 01 Jun 2011 12:01:43 GMT</pubDate>
			<author>romy4</author>
		</item>
	

	
		<item>
			<title>01.06.2011 10:39:31 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3946358</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3946358</link>
			<description><![CDATA[так проверьте :) — ссылку на чат я привел :)<br/>
Дело в том, что XSS не есть проблема самой технологии будь то HTML, JS, PHP — что угодно. XSS — это проблема плохо отфильтрованных данных. Если вы их качественно фильтруете, то все будет в порядке.]]></description>
			<pubDate>Wed, 01 Jun 2011 10:39:31 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>01.06.2011 10:34:49 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3946338</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3946338</link>
			<description><![CDATA[Что такое 4 байта при размере данных в 2 МБ? Накладные расходы на заголовки будут занимать в сотни раз больше.<br/>
Выигрыш главным образом за счет отсутствия ограничений — надо вам передать гигабайт — пожалуйста, нужно будет потом несколько терабайт — тоже без проблем. Без необходимости обновления протокола. При этом для небольших данных (сотни байт) минимальный оверхед — всего 1-2 байта.]]></description>
			<pubDate>Wed, 01 Jun 2011 10:34:49 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>31.05.2011 20:29:17 romy4</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3945014</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3945014</link>
			<description><![CDATA[никто не спросил, я спрошу. такой ли уж выигрыш от изменяемого размера поля „длина данных“, если а) надо делать каждый раз перевод в формат поля на сервере, б) перевод поля из формата в инт на клиенте. длина более 2миб данных уже займут 4 байта. что-то как-то непонятно]]></description>
			<pubDate>Tue, 31 May 2011 20:29:17 GMT</pubDate>
			<author>romy4</author>
		</item>
	

	
		<item>
			<title>31.05.2011 20:22:07 romy4</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3945000</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3945000</link>
			<description><![CDATA[а очень интересно будут работать xss с открытыми веб сокетами :) если не проверять, то встроенная сторонняя библиотека в сайт сможет сделать огого сколько всего]]></description>
			<pubDate>Tue, 31 May 2011 20:22:07 GMT</pubDate>
			<author>romy4</author>
		</item>
	

	
		<item>
			<title>11.03.2011 06:51:14 TheShock</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3729450</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3729450</link>
			<description><![CDATA[<blockquote>а обработчики на них повесить как в рамках canvas'а?</blockquote><br/>
Легко)]]></description>
			<pubDate>Fri, 11 Mar 2011 06:51:14 GMT</pubDate>
			<author>TheShock</author>
		</item>
	

	
		<item>
			<title>11.03.2011 06:38:42 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3729434</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3729434</link>
			<description><![CDATA[&gt; Если я открываю коннект и не закрываю — как долго коннект будет висеть? <br/>
По идее сколько угодно. Спецификация не оговаривает этот вопрос и оставляет на откуп разработчику прикладного приложения. На практике надо учесть таймауты, какие-нибудь промежуточные роутеры, обрывы соединения и прочее, что может закрыть его раньше.<br/>
<br/>
&gt; А если открывать их очень быстро, в цикле и очень долго?<br/>
Снова вам дана полная свобода действий. Как разработчик приложения вы можете решить, что для каждого блока данных вам нужно свое подключениее, а можете все гонять через одно подключение — как сделано в моем демо примере.<br/>
<br/>
&gt; Если нет заголовков, и де-факто самого протокола (т.е. веб-сокеты получаются очень низкоуровневым протоколом), то придется писать собственный протокол поверх веб-сокета, чтобы отслеживать юзеров (аналог куки), например. <br/>
С одной стороны да, протокол получается довольно низкоуровневым, а с другой масса проблем исчезает как класс. Например, отслеживать юзеров уже не нужно — потому что у вас постоянное подключение и на этапе его установления вы понимаете кто пришел. Дальше вам не нужно проверять его куку — потому что все, что пришло через данное подключение пришло от данного пользователя.<br/>
<br/>
Если вам интересно, могу предложить посмотреть мой демо-пример: <a href="http://chat.websockets.ru/">chat.websockets.ru/</a><br/>
 — Работает на одном подключении: каждое сообщение имеет признак типа. Далее на клиенте JS разруливает что с ним делать.<br/>
 — как только пользователь подключается или отклчючается моментально всем в чате присылается инфо об этом<br/>
 — Реализован пинг — раз в 5 секунд идет обмен пингами для проверки живости. Но это из разряда улучшений — если вдруг где-то посередине бешеный роутер прихлопнет сообщение. Но это не очень обязательно.<br/>
 — Весь обмен сообщениями в JSON — можно легко отдебагать.<br/>
 — Есть авторизация: при установлении соединения пользователю назначается рандомный цвет ника, с которым он дальше ходит до тех пор, пока не закроется его подключение.<br/>
 — Можно легко сделать проверку пароля — сейчас сделана проверка не непустой ник. Плюс — все проверки только один раз при подключении<br/>
 — Масса вещей намеренно не оптимизировалась, чтобы посмотреть на скорость работы. Например, присылка истории чата — все сообщения присылаются по отдельности вместо общего пакета<br/>
]]></description>
			<pubDate>Fri, 11 Mar 2011 06:38:42 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>10.03.2011 14:51:07 clockworkbird</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_3727880</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_3727880</link>
			<description><![CDATA[Возможно пропустил, но интересно, как будет решаться проблема, по которой веб изначально и был асинхронным. Если я открываю коннект и не закрываю — как долго коннект будет висеть? А если открывать их очень быстро, в цикле и очень долго? Просто интересно.<br/>
<br/>
Если нет заголовков, и де-факто самого протокола (т.е. веб-сокеты получаются очень низкоуровневым протоколом), то придется писать собственный протокол поверх веб-сокета, чтобы отслеживать юзеров (аналог куки), например. Предвкушаю появление библиотек реализующих протоколы поверх сокетов )<br/>
<br/>
А вообще возможности открываются поистине безграничные, это радует.]]></description>
			<pubDate>Thu, 10 Mar 2011 14:51:07 GMT</pubDate>
			<author>clockworkbird</author>
		</item>
	

	
		<item>
			<title>08.06.2010 23:19:48 aspel</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2933363</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2933363</link>
			<description><![CDATA[например какой то forex.com отдает какую то статистику только для своего домена, что будет мне мешать получать эту статистику?<br/>
За 5 мин напишу промежуточный модуль который будет получать эти данные подменяя Origin, и после получения данных выводить информацию непосредственно уже на свой сайт. <br/>
<br/>
Клиент -&gt; Мой сервер -&gt; подмена Origin -&gt; forex<br/>
forex -&gt; Мой сервер -&gt; Клиент<br/>
<br/>
И не нужно никого взламывать и ломать. ]]></description>
			<pubDate>Tue, 08 Jun 2010 23:19:48 GMT</pubDate>
			<author>aspel</author>
		</item>
	

	
		<item>
			<title>02.04.2010 04:44:13 perda</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2694851</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2694851</link>
			<description><![CDATA[Нее. У меня нету :)]]></description>
			<pubDate>Fri, 02 Apr 2010 04:44:13 GMT</pubDate>
			<author>perda</author>
		</item>
	

	
		<item>
			<title>18.01.2010 18:11:31 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2399230</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2399230</link>
			<description><![CDATA[И вам спасибо.<br/>
Дали повод глубже задуматься над темой :)]]></description>
			<pubDate>Mon, 18 Jan 2010 18:11:31 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>18.01.2010 18:08:20 mdevils</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2399211</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2399211</link>
			<description><![CDATA[Спасибо.]]></description>
			<pubDate>Mon, 18 Jan 2010 18:08:20 GMT</pubDate>
			<author>mdevils</author>
		</item>
	

	
		<item>
			<title>18.01.2010 18:08:06 mdevils</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2399209</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2399209</link>
			<description><![CDATA[Да, теперь понимаю. Не учел, что шедулинг, который производит операционная система, тоже отнимает процессорное время.]]></description>
			<pubDate>Mon, 18 Jan 2010 18:08:06 GMT</pubDate>
			<author>mdevils</author>
		</item>
	

	
		<item>
			<title>18.01.2010 17:54:46 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2399139</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2399139</link>
			<description><![CDATA[Почему не сможет? Разве это большая нагрузка прочитать в цикле 500 дескрипторов?<br/>
Весь вопрос в том, с чем это сравнивать. Если вы разобьете приложение на 500 тредов, то все равно у вас будет 500 буферов, которые надо прочитать, то есть объем работы это никак не уменьшит. Но наоборот добавится работа по шедулингу (пардон за слово, не подскажете нормальный русский перевод?) всех этих тредов. Плюс возрастут расходы памяти на всевозможные таблицы для хранения служебной информации и т.п. То есть нагрузка серьезно возрастет.<br/>
Тредами и даже процессами можно делать, если они сами «дешевые» и легкие. Например, в Erlang VM процессы отъедают меньше 1400 байт для хранения одного процесса в таблице. Такие процессы быстро запускаются и работают, они смогут без проблем держать тысячи соедиений. В более привычных языках есть аналоги green threads в java, taskets в python.]]></description>
			<pubDate>Mon, 18 Jan 2010 17:54:46 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>16.01.2010 21:48:39 mdevils</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2392387</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2392387</link>
			<description><![CDATA[Вы уверены? Даже в случае с epoll основной тред не сможет читать сразу из большого числа соединений. Операция чтения из буфера, конечно, быстрая, но не когда у тебя, скажем 500 буферов получили данные. Могу ошибаться.]]></description>
			<pubDate>Sat, 16 Jan 2010 21:48:39 GMT</pubDate>
			<author>mdevils</author>
		</item>
	

	
		<item>
			<title>16.01.2010 09:57:58 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2390515</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2390515</link>
			<description><![CDATA[Так часто бывает: возникла необходимость, а потом появилось решение. Точно так же было с самим аяксом — все тоже самое вначале делалось с помощью IFrame, долгогрузящийся скрипт и пр. Но это все были кривые решения, которые естественно вызывали разные проблемы с проксями, антивирусами и тп. XHR стандартизировал поведение и отправил всех своих предшественников на свалку истории. Та же ситуация сейчас с Comet — это ряд хаков, наросших на XHR. По этому они таким же образом будут заменены WebSockets-ами! И мы получим хорошее безглючное окружение.]]></description>
			<pubDate>Sat, 16 Jan 2010 09:57:58 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>16.01.2010 09:52:38 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2390500</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2390500</link>
			<description><![CDATA[Не совсем, Nginx не создает ни процессов, ни потоков для соединения. Потому что при большом кол-ве соединений, обе эти операции очень быстро съедят все ресурсы системы. Вместо этого он в рабочем процессе хранит дескрипторы всех соединений и опрашивает их. Подробнее описано в методе epoll.]]></description>
			<pubDate>Sat, 16 Jan 2010 09:52:38 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>16.01.2010 03:29:51 mdevils</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2390120</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2390120</link>
			<description><![CDATA[Уверены, что тред а не процесс? Насколько я знаю nginx создает мало процессов, но сами процессы генерируют треды. А создание процесса — как раз и есть ресурсоемкая операция, в отличие от треда.]]></description>
			<pubDate>Sat, 16 Jan 2010 03:29:51 GMT</pubDate>
			<author>mdevils</author>
		</item>
	

	
		<item>
			<title>16.01.2010 02:51:24 inxaoc</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2390111</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2390111</link>
			<description><![CDATA[что-то мне подсказывает, что если бы не real-time web, долго бы еще лежать этой технологии на полке!]]></description>
			<pubDate>Sat, 16 Jan 2010 02:51:24 GMT</pubDate>
			<author>inxaoc</author>
		</item>
	

	
		<item>
			<title>16.01.2010 02:24:39 inxaoc</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2390097</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2390097</link>
			<description><![CDATA[Кстати кто писал веб-приложения, в соответствии с канонами разработки, используя паттерны смогут возрадоваться! WebSockets еще раз доказал необходимость умного подхода к разработке — абстрагируйтесь от httprequest, comet и прочего.]]></description>
			<pubDate>Sat, 16 Jan 2010 02:24:39 GMT</pubDate>
			<author>inxaoc</author>
		</item>
	

	
		<item>
			<title>16.01.2010 02:22:37 inxaoc</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2390096</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2390096</link>
			<description><![CDATA[Да уж запоздал WebSockets! Его бы года-два назад, кто ж сейчас будет переписывать сотни веб-приложений которые работают по принципу десктопных и с активным ajax-взаимодействия (гугл доксы, веб топы, гмейл, вейв, и пр)? Т.е. можно смело выделять бюджеты на переписывание веб-приложений ))<br/>
<br/>
Но лучше поздно чем никогда!]]></description>
			<pubDate>Sat, 16 Jan 2010 02:22:37 GMT</pubDate>
			<author>inxaoc</author>
		</item>
	

	
		<item>
			<title>05.01.2010 12:58:38 Kane</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2351869</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2351869</link>
			<description><![CDATA[Flash обременяет разработчика средством разработки, а пользователя необходимостью это flash установить. И всё это при том, что как средство разработки, так и плагин производятся одной фирмой и не имеют альтернатив. <br/>
<br/>
ps про gnash знаю]]></description>
			<pubDate>Tue, 05 Jan 2010 12:58:38 GMT</pubDate>
			<author>Kane</author>
		</item>
	

	
		<item>
			<title>03.01.2010 23:39:03 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2347384</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2347384</link>
			<description><![CDATA[&gt; Возвращаемся в 90-е. Когда аплет открывал обычное TCP-соединение с сервером и использовал функциональность без всяких наворотов. ))))<br/>
А в том и соль эволюции технологий, что тоже самое (или чуть лучшее) достигается более простыми средствами, с большей надежностью, безопасносностью, сервисом и тп.<br/>
<br/>
&gt; А пока что будьте уверены, если у вас корпоративный файрволл — через пару минут ваше соединение завершится.<br/>
HTTP — да. Но прибивать любое TCP подключение просто через 2 минуты некорректно даже для корпоративного фаервола.<br/>
<br/>
&gt; И забьются моментально, т.к. клиент при закрытии соединения не посылает терминального пакета. Сокеты так и останутся висеть в неактивном состоянии.<br/>
Почему не посылает? Это предусмотрено стандартом TCP, если он не посылает, то он работает не по стандарту. Значит, он не клиент, а неведомая хрень.<br/>
Чтобы не забивалось надо иметь хорошую цифру в somaxconn и хороший мультиплексор.<br/>
<br/>
&gt; Реально что приходится делать:…<br/>
Да, на практике это надо будет сделать. Чтобы учеть даже такие банальные вещи, как случайный отруб инета у клиента (например, если у него модем или еще что-то). В таком случае, нам надо узнать, что он отвалился и дать ему возможность переконнектиться. <br/>
<br/>
Но и это тоже легко реализуется в технологии вебсокетов:<br/>
1. Честное отключение вызовет закрытие сокета, которое можно обработать.<br/>
2. Если мы при отправке пакета получили ошибку, то сокет надо закрыть.<br/>
3. Если отправили пинг и клиент за установленное время не ответил — то так же надо закрыть.<br/>
<br/>
Кстати, благодаря симметричности, логика обработки на серверной и клиентской стороне будет похожа, с той разницей, что клиент может инциировать переподключение.<br/>
<br/>
]]></description>
			<pubDate>Sun, 03 Jan 2010 23:39:03 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>03.01.2010 17:35:15 Throwable</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2346397</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2346397</link>
			<description><![CDATA[Возвращаемся в 90-е. Когда аплет открывал обычное TCP-соединение с сервером и использовал функциональность без всяких наворотов. ))))<br/>
<br/>
&gt; В отличие от HTTP веб-сокеты не имеют ограничений на время жизни в неактивном состоянии.<br/>
Теоретически. Реально в ОС практически всегда установлен Timeout по которому автоматически закрывается сокет.<br/>
<br/>
&gt; Это значит, что больше не надо периодически рефрешить соединение, т.к. его не вправе «прихлопывать» всякие прокси.<br/>
Опять теоретически. Когда это станет реальностью, пройдет еще лет 5. А пока что будьте уверены, если у вас корпоративный файрволл — через пару минут ваше соединение завершится.<br/>
<br/>
&gt; Значит, соединение может висеть в неактивном виде и не требовать ресурсов. Конечно, можно возразить, что на сервере будут забиваться TCP-сокеты.<br/>
И забьются моментально, т.к. клиент при закрытии соединения не посылает терминального пакета. Сокеты так и останутся висеть в неактивном состоянии.<br/>
<br/>
Реально что приходится делать:<br/>
1. Сервер время от времени пингует клиентов, чтобы оборвать неактивные «висящие» сокеты.<br/>
2. Опционально клиент тоже может пинговать сервер, и например определять время пинга.<br/>
3. Поскольку надежность http-соединения не гарантирована (корпоративные прокси), приходится реализовать механизм автоматического реконнекта.]]></description>
			<pubDate>Sun, 03 Jan 2010 17:35:15 GMT</pubDate>
			<author>Throwable</author>
		</item>
	

	
		<item>
			<title>28.12.2009 14:23:43 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2329376</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2329376</link>
			<description><![CDATA[Как запустите — напишите! <br/>
Из питонистого хайлоадного я тоже присмотрел торнадо.<br/>
<br/>
Это нормально — ведь нужны разные спецы, им можно поручить что-нить другое. :)]]></description>
			<pubDate>Mon, 28 Dec 2009 14:23:43 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>28.12.2009 13:14:09 creotiv</title>
			<guid isPermaLink="true">#comment_2329194</guid>
			<link>#comment_2329194</link>
			<description><![CDATA[Пишем что-то вроде соц сети, но со специфическим уклоном и с прямой монетизацией.<br/>
Основная идея помогать людям)<br/>
Идей у нас крайне много… а вот человеко-часов на реализацию очень мало.<br/>
<br/>
Пишем на Питоне. В качестве сервака используем Торнадо. Сча вот переписываем его под свои нужды и собираем такой себе мини-фреймворк для проекта. Ибо как мы подитожолили, единственный вменяемый фрейм под высокую нагрузку на Питоне это Твистед. Думали уже писать на нем… но потом вот появился Торнадо, который показал очень неплохие результаты и простоту кода и мы решили не использовать Твистед, а писать свои либы по мере необходимости, что бы полностью понимать почему и как у нас работает приложение. <br/>
<br/>
Еще один веселый прикол, что из нас троих в сетевых технологиях и Питоне разбираюсь только я… и то нада сказать не очень… ибо практики написания такого рода приложений крайне мало. Благо есть много хороших книг и полезных ресурсов.<br/>
<br/>
Посему работаем как рабы на плантации))]]></description>
			<pubDate>Mon, 28 Dec 2009 13:14:09 GMT</pubDate>
			<author>creotiv</author>
		</item>
	

	
		<item>
			<title>28.12.2009 12:51:31 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2329128</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2329128</link>
			<description><![CDATA[Жестко:)<br/>
А что пишете если не секрет? На чем?]]></description>
			<pubDate>Mon, 28 Dec 2009 12:51:31 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
		<item>
			<title>28.12.2009 12:49:20 creotiv</title>
			<guid isPermaLink="true">#comment_2329118</guid>
			<link>#comment_2329118</link>
			<description><![CDATA[С одной стороны да конечно… а с другой нада работать что бы есть. А что бы вкусно есть нужно хорошо работать))<br/>
<br/>
Вот мы и работаем 24/7… надеюсь до НГ допишем базовую версию сервера и сможем отметить НГ результативно))]]></description>
			<pubDate>Mon, 28 Dec 2009 12:49:20 GMT</pubDate>
			<author>creotiv</author>
		</item>
	

	
		<item>
			<title>28.12.2009 12:36:38 el777</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/79038/#comment_2329082</guid>
			<link>http://habrahabr.ru/blogs/webdev/79038/#comment_2329082</link>
			<description><![CDATA[Все в порядке — 28 число на вроде:)<br/>
Уже пора думать о ёлках, голова сама просит :)]]></description>
			<pubDate>Mon, 28 Dec 2009 12:36:38 GMT</pubDate>
			<author>el777</author>
		</item>
	

	
</channel>
</rss>

