<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_34201"  />
<title>rulinux.net - Форум - Development - Способ передачи изображений по сети</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - Способ передачи изображений по сети</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102192</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102192</guid>
<pubDate>Mon, 01 Aug 2011 15:05:00 +0400</pubDate>
<description><![CDATA[<p>жесть! и керберосом его, керберосом как комаров фумитоксиком</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102191</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102191</guid>
<pubDate>Mon, 01 Aug 2011 14:52:07 +0400</pubDate>
<description><![CDATA[<p>Тред не читал, но думаю надо все выпилить, БД тоже и забирать картинки и данные (хранимые в файлах) по sftp, а данные сжимать в блобы и криптовать GPG, на  dm-crypt разделе  только с twofish-x-x, при этом производить смену всех ключей каждый месяц.</p><p> Вот это будет красиво.</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102190</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102190</guid>
<pubDate>Mon, 01 Aug 2011 10:54:41 +0400</pubDate>
<description><![CDATA[<p><i>>Да со всех сторон лучше - а что если таких клиентов стопицот? На каждого коннекшен держать задолбаешься.</i><br> Ну можно взять асинхронный сервер, которому, в принципе, пофигу на количество коннекшенов в случае long-polling запросов, которые тупо висят. По нагрузке, наверное, выйдет тоже самое, что и периодические соединения на один адрес раз в 2 секунды.</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102189</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102189</guid>
<pubDate>Mon, 01 Aug 2011 10:42:52 +0400</pubDate>
<description><![CDATA[<p><i>>Да и смешно заботиться о безопасности, если SQL-запросы посылает удалённый клиент.</i><br> Ну там всякие https и все дела, логины с паролями и разделение прав. Хотя да, от прямого SQL надо отказаться.</p><p><i>>Выбор между ФТП и ХТТП - ерунда, сделай как попало.</i><br> Оно уже сделано как попало на FTP:)</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102188</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102188</guid>
<pubDate>Sat, 30 Jul 2011 20:49:43 +0400</pubDate>
<description><![CDATA[<p><i>> на самом деле не совсем. Через аякс вполне смотрибельно, если коиент по таймауту опрашивает. В чём-то лучше, чем постоянное сокетное соединение - отвалившийся клиент не будет держать мёртвый коннекшн.</i><br> Да со всех сторон лучше - а что если таких клиентов стопицот? На каждого коннекшен держать задолбаешься.</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102187</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102187</guid>
<pubDate>Sat, 30 Jul 2011 20:47:58 +0400</pubDate>
<description><![CDATA[<p><i>> два протокола есть и сейчас, так как ftp, так что я ничего не потеряю.</i><br> Выброси базоданновый протокол</p><p><i>> Тоже возникала такая мысль. Правда там есть вопросы, т.к. сервер иногда должен оповещать клиента (например об обновлении базы, или ещё о чём-нибудь), а в http это всё как-то криво реализуется, всякие long-polling и недоделанные вебсокеты. </i><br> В базе данных это скорее всего тоже нетривиальное дело.  </p><p>А так.. Поставишь какой-нибудь похапэшный акселератор с кешиком. В кешике сохраняешь значение когда в последний раз произошло событие такое-то. Пришешь одну функцию на похапэ которая берёт из кешика это значение и отдаёт клиенту с заголовками чтобы проксики это кешировали не дольше 1й секунды . Стопицот клиентов ежесекундно опрашивают сервер по адресу &nbsp;<a href="http://yuorserver.narod.ru/server.php?isEventHappened">http://yuorserver.narod.ru/server.php?isEventHappened</a> и им либо проксик отдаёт результат либо сам сервер, но при этом не особо нагружаясь (можно даже дату не парсить на каждый запрос - сложить в кеше же текст ответа и плювать им в клиентов)</p><p>Остальные запросы в базу тоже можно представить в виде вызовов скрипта, который будет возвращать XML или JSON клиенту. Потом к этому и вебдванольную морду можно будет приделать..</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102186</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102186</guid>
<pubDate>Sat, 30 Jul 2011 20:24:13 +0400</pubDate>
<description><![CDATA[<p><i>> а в http это всё как-то криво реализуется</i><br> на самом деле не совсем. Через аякс вполне смотрибельно, если коиент по таймауту опрашивает. В чём-то лучше, чем постоянное сокетное соединение - отвалившийся клиент не будет держать мёртвый коннекшн.</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102185</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102185</guid>
<pubDate>Sat, 30 Jul 2011 20:22:09 +0400</pubDate>
<description><![CDATA[<p>блоб будет сильно нагружать базу, но имеет свои преимущества. Если большой нагрузки не планируется, то довольно удобно. </p><p>ФТП сам по себе совершенно безопасен. Опасны бажные проги и криворукие одмины. Да и смешно заботиться о безопасности, если SQL-запросы посылает удалённый клиент. Выбор между ФТП и ХТТП - ерунда, сделай как попало. Какой-нибудь тайнихттпд будет не хуже фтпд, а с точки зрения возможной расширяемости - лучше. Потом можно будет вынести часть бизнес-логики на веб-сервер с перспективой поставить опач или томкат не меняя клиентскую часть.</p><p>про вебдав не ведаю. Почитай его описание для начала чтоли</p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102184</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102184</guid>
<pubDate>Sat, 30 Jul 2011 11:41:19 +0400</pubDate>
<description><![CDATA[<p><i>>Я за первый вариант, если картинки большие - то тянуть в несколько потоков. Недостаток: клиенту потребуется два протокола - к базе и веб-серверу.</i><br> Мне тоже первый вариант больше нравится, наверное его и выберу. Ну а два протокола есть и сейчас, так как ftp, так что я ничего не потеряю.</p><p><i>>Ещё бы интерфейс клиента к БД завернуть через HTTP, возможно с переносом части логики на сервер.</i><br> Тоже возникала такая мысль. Правда там есть вопросы, т.к. сервер иногда должен оповещать клиента (например об обновлении базы, или ещё о чём-нибудь), а в http это всё как-то криво реализуется, всякие long-polling и недоделанные вебсокеты. Тут я просто пока не соображу, как лучше всего сделать, буду читать гугл.</p><p></p>]]></description>
</item>
<item>
<title>Re: Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102183</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102183</guid>
<pubDate>Fri, 29 Jul 2011 19:21:08 +0400</pubDate>
<description><![CDATA[<p>Я за первый вариант, если картинки большие - то тянуть в несколько потоков. Недостаток: клиенту потребуется два протокола - к базе и веб-серверу. Ещё бы интерфейс клиента к БД завернуть через HTTP, возможно с переносом части логики на сервер.</p>]]></description>
</item>
<item>
<title>Способ передачи изображений по сети</title>
<link>https://rulinux.net/message.php?newsid=34201&amp;page=1#102182</link>
<guid>https://rulinux.net/message.php?newsid=34201&amp;page=1#102182</guid>
<pubDate>Fri, 29 Jul 2011 18:20:00 +0400</pubDate>
<description><![CDATA[<p>Есть десктопная программка, клиент-серверная архитектура, но на сервере ничего особенного нет. По сути - морда для удалённой работы с БД и кучка серверных скриптов. Клиентская часть посылает SQL запросы и получает результат, авторизация выполняется силами БД.</p><p>Но, кроме данных в БД, есть ещё файлы, в данном случае - изображения. В базе сохраняются пути к файлам, ну а клиент их должен как-то забирать и отображать. Сейчас всё это счастье делается через FTP. В принципе работает, хотя насчёт самого протокола есть сомнения. </p><p>Во-первых - он не очень безопасный, как пишут в интернете. Картинки, конечно, не бог весть какие важные, да и сервер сидит в локальной сети за NAT-ом, но всё равно, мало ли что в будущем будет. Во-вторых - разделение прав, допустим на чтение и запись, реализуется через классические юниксовые методы, пользователи и группы. Выглядит немного кривовато, да и простора для модернизации уже нет. Вот, собственно, и вопрос: а что бы такое вместо FTP сделать?</p><p>Из рассматриваемых вариантов: </p><p>1. HTTP. Воткнуть вебсервер, показывать картинки через него, в качестве аутентификации сделать либо HTTP basic auth (или как она там зовётся), или можно в будущем сделать простую программу, которая будет раздавать картинки на основе данных из БД и какой-нибудь логики. С другой стороны - а лучше ли оно будет, чем FTP?</p><p>2. WebDAV. Никогда с ним не работал, но, говорят, для такого подходит.</p><p>3. Хранить картинки в базе в виде блобов, так тоже кто-то делает. Меня это немного смущает, да и требований "сделать всё через БД" нет. Насчёт производительности тоже есть сомнения.</p><p>Кто-нибудь знает красивые и удобные способы для решения этой задачи? </p>]]></description>
</item>
</channel>
</rss>