<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Комментарии: Анонимный приватный чат на node.js (используя express и socket.io)	</title>
	<atom:link href="https://shpirat.net/blog/2015/04/09/%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B9-%D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%BD%D1%8B%D0%B9-%D1%87%D0%B0%D1%82-%D0%BD%D0%B0-node-js/feed/" rel="self" type="application/rss+xml" />
	<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/</link>
	<description>Лазяют там по своим интернетам, шпираты гребанные!</description>
	<lastBuildDate>Thu, 07 Mar 2024 19:40:50 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		Автор: karamush		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-2464</link>

		<dc:creator><![CDATA[karamush]]></dc:creator>
		<pubDate>Thu, 07 Mar 2024 19:40:50 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-2464</guid>

					<description><![CDATA[В ответ на &lt;a href=&quot;https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-2463&quot;&gt;Александр&lt;/a&gt;.

Добрый день)

/socket.io/socket.io.js - это виртуальный путь, который доступен благодаря библиотеке socket.io, так что он и не должен находиться ни по какому пути :).
Можно проверить, пройдя по прямому пути: https://chat.shpirat.net/socket.io/socket.io.js и убедившись, что всё отдаётся как надо, даже если фактически файлика такого нет.

И вообще, этот проект был как первый эксперимент на NodeJS ещё 10 лет назад (!!!), вы только вдумайтесь! Как запущен был тогда, так и работает до сих пор. 
Поэтому некоторые вещи могли быть сделаны не очень корректно.
Возможно, на новой версии NodeJS и новых версиях библиотек оно работает неправильно, т.к. поломана обратная совместимость. 

Попробуйте сделать вот что: 
- используйте NodeJS версии 12 (на ней сейчас работает этот чат)
- поставьте socket.io версии 1.1, а express - 4.13
- возможно, стоит переименовать файл packaje.json в package.json (только сейчас заметил ошибку :D)

Порт в app.js нужен как порт по-умолчанию. Там есть переменная (которую стоило бы сделать константой, да) listenPort, и если проследить по коду, то фактический порт сначала пытается получиться из ENV, который можно задать при запуске процесса, а если нет, тогда используется порт по-умолчанию - 88. 
А сам чат из статьи, расположенный на chat.shpirat.net, спрятан за nginx. Поэтому даже если он слушает порт 88, он всё равно проксируется через nginx, чтоб быть доступным по определённому хосту и обычному http(s)]]></description>
			<content:encoded><![CDATA[<p>В ответ на <a href="https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-2463">Александр</a>.</p>
<p>Добрый день)</p>
<p>/socket.io/socket.io.js &#8212; это виртуальный путь, который доступен благодаря библиотеке socket.io, так что он и не должен находиться ни по какому пути :).<br />
Можно проверить, пройдя по прямому пути: <a href="https://chat.shpirat.net/socket.io/socket.io.js" rel="nofollow ugc">https://chat.shpirat.net/socket.io/socket.io.js</a> и убедившись, что всё отдаётся как надо, даже если фактически файлика такого нет.</p>
<p>И вообще, этот проект был как первый эксперимент на NodeJS ещё 10 лет назад (!!!), вы только вдумайтесь! Как запущен был тогда, так и работает до сих пор.<br />
Поэтому некоторые вещи могли быть сделаны не очень корректно.<br />
Возможно, на новой версии NodeJS и новых версиях библиотек оно работает неправильно, т.к. поломана обратная совместимость. </p>
<p>Попробуйте сделать вот что:<br />
&#8212; используйте NodeJS версии 12 (на ней сейчас работает этот чат)<br />
&#8212; поставьте socket.io версии 1.1, а express &#8212; 4.13<br />
&#8212; возможно, стоит переименовать файл packaje.json в package.json (только сейчас заметил ошибку :D)</p>
<p>Порт в app.js нужен как порт по-умолчанию. Там есть переменная (которую стоило бы сделать константой, да) listenPort, и если проследить по коду, то фактический порт сначала пытается получиться из ENV, который можно задать при запуске процесса, а если нет, тогда используется порт по-умолчанию &#8212; 88.<br />
А сам чат из статьи, расположенный на chat.shpirat.net, спрятан за nginx. Поэтому даже если он слушает порт 88, он всё равно проксируется через nginx, чтоб быть доступным по определённому хосту и обычному http(s)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: Александр		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-2463</link>

		<dc:creator><![CDATA[Александр]]></dc:creator>
		<pubDate>Thu, 07 Mar 2024 19:29:58 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-2463</guid>

					<description><![CDATA[Добрый день.

Не запускаются /socket.io/socket.io.js. Непонятно по какому пути он должен находиться. И не запускаются smileys.js и chat.js. Пути я правильно прописал, но почему-то не хотят. Не понятно зачем нужен порт в app.js, если к нему нет обращения. Если есть возможность, помогите разобраться.]]></description>
			<content:encoded><![CDATA[<p>Добрый день.</p>
<p>Не запускаются /socket.io/socket.io.js. Непонятно по какому пути он должен находиться. И не запускаются smileys.js и chat.js. Пути я правильно прописал, но почему-то не хотят. Не понятно зачем нужен порт в app.js, если к нему нет обращения. Если есть возможность, помогите разобраться.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: Александр Иванов		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-468</link>

		<dc:creator><![CDATA[Александр Иванов]]></dc:creator>
		<pubDate>Sat, 12 May 2018 16:34:59 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-468</guid>

					<description><![CDATA[отличная статья, идея чата очень впечатлила и максимально подходит под мои нужды, а вот проблема остается актуальной]]></description>
			<content:encoded><![CDATA[<p>отличная статья, идея чата очень впечатлила и максимально подходит под мои нужды, а вот проблема остается актуальной</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: karamush		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-216</link>

		<dc:creator><![CDATA[karamush]]></dc:creator>
		<pubDate>Thu, 18 May 2017 09:53:51 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-216</guid>

					<description><![CDATA[В ответ на &lt;a href=&quot;https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-207&quot;&gt;Никита&lt;/a&gt;.

Прошу прощения за не быстрый ответ. Видимо, из-за ссылок комментарий попал в спам, а сейчас случайно его увидел... )

Проблема ещё актуальна? Если да, то можно написать мне в ВК (можно найти по нику, как и в телеграме).]]></description>
			<content:encoded><![CDATA[<p>В ответ на <a href="https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-207">Никита</a>.</p>
<p>Прошу прощения за не быстрый ответ. Видимо, из-за ссылок комментарий попал в спам, а сейчас случайно его увидел&#8230; )</p>
<p>Проблема ещё актуальна? Если да, то можно написать мне в ВК (можно найти по нику, как и в телеграме).</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: Никита		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-207</link>

		<dc:creator><![CDATA[Никита]]></dc:creator>
		<pubDate>Mon, 01 May 2017 13:43:19 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-207</guid>

					<description><![CDATA[Здравствуйте, установил все модули, запустил, но вышла ошибка Undefined is not a function on indexOf на var index = ns.connected[id].rooms.indexOf(roomId) ;
Изменил на var index = ns.connected[id].rooms.toString().indexOf(roomId) ;
Заработало! Зашел, создал чат комнату, но справа на панели список пуст, даже мой ник не отображается, где должен быть список пользователей... Попробовал подключится к комнате, но ее не видит, т.е. нужно создать ее, id комнаты разумеется одинаковый, сообщение в созданной комнате отправляются.. Запустил сервер на локалке http://localhost:88, думал с портом что то, поменял на http://localhost:8008 все равно такая же проблема, помогите разобраться ?]]></description>
			<content:encoded><![CDATA[<p>Здравствуйте, установил все модули, запустил, но вышла ошибка Undefined is not a function on indexOf на var index = ns.connected[id].rooms.indexOf(roomId) ;<br />
Изменил на var index = ns.connected[id].rooms.toString().indexOf(roomId) ;<br />
Заработало! Зашел, создал чат комнату, но справа на панели список пуст, даже мой ник не отображается, где должен быть список пользователей&#8230; Попробовал подключится к комнате, но ее не видит, т.е. нужно создать ее, id комнаты разумеется одинаковый, сообщение в созданной комнате отправляются.. Запустил сервер на локалке <a href="http://localhost:88" rel="nofollow ugc">http://localhost:88</a>, думал с портом что то, поменял на <a href="http://localhost:8008" rel="nofollow ugc">http://localhost:8008</a> все равно такая же проблема, помогите разобраться ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: shpirat		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-136</link>

		<dc:creator><![CDATA[shpirat]]></dc:creator>
		<pubDate>Sat, 09 Jul 2016 00:23:14 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-136</guid>

					<description><![CDATA[В ответ на &lt;a href=&quot;https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-135&quot;&gt;Игорь&lt;/a&gt;.

Пожалуйста!

Пишет, что не может найти модуль goo.gl (в чате он нужен для вывода короткой ссылки на текущую комнату).

Чтобы это починить, нужно установить этот модуль, введя в консоли в текущей папке проекта команду: 
npm install goo.gl

Либо можно просто установить (не в текущей папке, а глобально этот модуль) командой: npm install -g goo.gl


Сразу хочу предупредить: когда делался этот чат, ещё тогда мне было мало известно о всяких тонкостях и т.д., даже не был создан файл с описанием пакета и его зависимостями package.json, поэтому, скорее всего, даже установив необходимые библиотеки (типа express и socket.io) оно не заработает, т.к. версии там нужны немного старее, чем те, что есть сейчас.
В любом случае -- пишите. Поможем )]]></description>
			<content:encoded><![CDATA[<p>В ответ на <a href="https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-135">Игорь</a>.</p>
<p>Пожалуйста!</p>
<p>Пишет, что не может найти модуль goo.gl (в чате он нужен для вывода короткой ссылки на текущую комнату).</p>
<p>Чтобы это починить, нужно установить этот модуль, введя в консоли в текущей папке проекта команду:<br />
npm install goo.gl</p>
<p>Либо можно просто установить (не в текущей папке, а глобально этот модуль) командой: npm install -g goo.gl</p>
<p>Сразу хочу предупредить: когда делался этот чат, ещё тогда мне было мало известно о всяких тонкостях и т.д., даже не был создан файл с описанием пакета и его зависимостями package.json, поэтому, скорее всего, даже установив необходимые библиотеки (типа express и socket.io) оно не заработает, т.к. версии там нужны немного старее, чем те, что есть сейчас.<br />
В любом случае &#8212; пишите. Поможем )</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Автор: Игорь		</title>
		<link>https://shpirat.net/blog/2015/04/09/%d0%b0%d0%bd%d0%be%d0%bd%d0%b8%d0%bc%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%b2%d0%b0%d1%82%d0%bd%d1%8b%d0%b9-%d1%87%d0%b0%d1%82-%d0%bd%d0%b0-node-js/comment-page-1/#comment-135</link>

		<dc:creator><![CDATA[Игорь]]></dc:creator>
		<pubDate>Fri, 08 Jul 2016 16:41:22 +0000</pubDate>
		<guid isPermaLink="false">http://shpirat.net/?p=384#comment-135</guid>

					<description><![CDATA[Спасибо за статью. Скачал исходники.

При старте вот что имею:
Error: Cannot find module &#039;goo.gl&#039;

Как это победить?
PS nodejs первый раз вижу]]></description>
			<content:encoded><![CDATA[<p>Спасибо за статью. Скачал исходники.</p>
<p>При старте вот что имею:<br />
Error: Cannot find module &#8216;goo.gl&#8217;</p>
<p>Как это победить?<br />
PS nodejs первый раз вижу</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
