Передача файлов: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
м
(Поправил описание в "Теории" - добавил юзкейсы. Убрал про "ненадежный" для in band - если "будет работать всегда", то почему ненадежный?)
Строка 4: Строка 4:
==Теория==
==Теория==
Существует несколько протоколов передачи файлов в Jabber
Существует несколько протоколов передачи файлов в Jabber
;httpUpload (Рекомендуем использовать): Файл загружается на сервер, а потом отправляться как обычная ссылка. Самый быстрый, простой, надежный и 100% совместимый способ.  
;HTTP File Upload (рекомендуем): Файл загружается на jabber-сервер, а потом отправляется как обычная ссылка, которая будет доступна на всех [[Клиенты Jabber|клиентах]] и у вас, и у собеседника. Самый простой, надежный и 100% совместимый способ - в клиенте настройка не требуется совсем (он просто должен уметь эту функцию), а ссылку можно открыть даже в обычном веб-браузере. Файлы можно слать, даже если собеседник сейчас не в сети. Так как файл сохраняется на сервере, то, во-первых, требуется поддержка такой загрузки с его стороны - но практически везде на сейчас она есть. А во-вторых, так как на это расходуются ресурсы сервера, то там обычно установлены лимиты на размер таких файлов и на время их хранения (на разных по-разному): фотографии, короткие видеоролики или аудиозаметки можно пересылать, но обменяться полноразмерным фильмом так уже не выйдет.
;In-band (в канале):Медленный и ненадежный<ref>Также у этой разновидности есть ещё один недостаток - объём переданных данных приблизительно в 1.5 раза больше размера файла</ref>, но будет работать всегда, при его использовании файлы превращаются в текст с помощью [[ru_wikipedia:base64|base64]] и отсылаются как обычные сообщения. Не требует настройки, но его стоит использовать только при неработоспособности других разновидностей.
;In-band (в канале): Самый медленный способ<ref>Также у этой разновидности есть ещё один недостаток - объём переданных данных приблизительно в 1.5 раза больше размера файла</ref>, но будет работать всегда: при его использовании файлы превращаются в текст с помощью [[ru_wikipedia:base64|base64]] и отсылаются как обычные сообщения. Не требует настройки, но его стоит использовать только при неработоспособности других разновидностей.
;Out-of-band<ref name=oobb> Подразумевается out-of-band bytestream, [http://xmpp.org/extensions/xep-0065.html XMPP-расширение 0065]</ref> (вне канала):Быстрый, но для его использования компьютер должен иметь внешний IP-адрес, так как файлы посылаются напрямую между клиентами. Узнать, имеется ли у Вас внешний IP-адрес, можно [[Выявление NAT|тут]].
;Out-of-band<ref name=oobb> Подразумевается out-of-band bytestream, [http://xmpp.org/extensions/xep-0065.html XMPP-расширение 0065]</ref> (вне канала):Быстрый, но для его использования компьютер должен иметь внешний IP-адрес, так как файлы посылаются напрямую между клиентами. Узнать, имеется ли у Вас внешний IP-адрес, можно [[Выявление NAT|тут]]. При такой передаче ресурсы сервера не задействуются, поэтому можно пересылать файлы любых объемов.
;Out-of-band<ref name=oobb></ref> через прокси:Быстрый, надежный, но требует небольшой настройки, при его использовании файлы посылаются через специальный [[Транспорт|транспорт]]-прокси на стороне сервера. Используется, когда у компьютера нет внешнего IP-адреса. Не забывайте, что за установление соединения отвечает передающая сторона, поэтому если Вы не можете принять ни один файл, то в этом виноват передающий.
;Out-of-band<ref name=oobb></ref> через прокси:Быстрый как и обычный '''Out-of-band''', но используется в тех случаях, когда у компьютера нет внешнего IP-адреса - при его использовании файлы посылаются через специальный [[Транспорт|транспорт]]-прокси на стороне сервера, поэтому такая передача требует небольшой настройки. Не забывайте, что за установление соединения отвечает передающая сторона, поэтому если Вы не можете принять ни один файл, то в этом виноват передающий.


===Клиенты===
===Клиенты===

Версия 13:24, 1 июня 2022

Введение

Практически все средства связи через Интернет, в том числе и Jabber, позволяют обмениваться файлами, но современные способы подключения к сети часто затрудняют обмен файлами. Например, если Вы подключены через локальную сеть или используете компьютер на месте работы - то могут возникнуть проблемы. К счастью, Jabber предоставляет множество средств для решения данной проблемы.

Теория

Существует несколько протоколов передачи файлов в Jabber

HTTP File Upload (рекомендуем)
Файл загружается на jabber-сервер, а потом отправляется как обычная ссылка, которая будет доступна на всех клиентах и у вас, и у собеседника. Самый простой, надежный и 100% совместимый способ - в клиенте настройка не требуется совсем (он просто должен уметь эту функцию), а ссылку можно открыть даже в обычном веб-браузере. Файлы можно слать, даже если собеседник сейчас не в сети. Так как файл сохраняется на сервере, то, во-первых, требуется поддержка такой загрузки с его стороны - но практически везде на сейчас она есть. А во-вторых, так как на это расходуются ресурсы сервера, то там обычно установлены лимиты на размер таких файлов и на время их хранения (на разных по-разному): фотографии, короткие видеоролики или аудиозаметки можно пересылать, но обменяться полноразмерным фильмом так уже не выйдет.
In-band (в канале)
Самый медленный способ[1], но будет работать всегда: при его использовании файлы превращаются в текст с помощью base64 и отсылаются как обычные сообщения. Не требует настройки, но его стоит использовать только при неработоспособности других разновидностей.
Out-of-band[2] (вне канала)
Быстрый, но для его использования компьютер должен иметь внешний IP-адрес, так как файлы посылаются напрямую между клиентами. Узнать, имеется ли у Вас внешний IP-адрес, можно тут. При такой передаче ресурсы сервера не задействуются, поэтому можно пересылать файлы любых объемов.
Out-of-band[2] через прокси
Быстрый как и обычный Out-of-band, но используется в тех случаях, когда у компьютера нет внешнего IP-адреса - при его использовании файлы посылаются через специальный транспорт-прокси на стороне сервера, поэтому такая передача требует небольшой настройки. Не забывайте, что за установление соединения отвечает передающая сторона, поэтому если Вы не можете принять ни один файл, то в этом виноват передающий.

Клиенты

Возможности различных Jabber-клиентов:

Способ Клиент
XMPP Messenger Conversations Dino Gajim eyeCU Vacuum-IM Psi Pidgin Kopete Miranda Bombus Tkabber Adium QIP Infium Jabbim JAJC Talkonaut
httpUpload Да Да Да Да Нет Нет Да Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
In band Да Да Нет ? Да Да Да Да Нет Да Да Да ? Да Да Да[3] Да
Out of band Да Да Нет Да Да Да Да Да Да Да ? Да Да Да Да Да[3] ?
Через прокси Да Да Нет Да Да Да Да Да Да Да Да[4] Да Да Да Да Да[3] Да

Практика

Тут приводятся описания настройки передачи файлов в популярных Jabber-клиентах:

Icon 16-16 psi.png Psi Icon 16-16 pidgin.png Pidgin Logo 16-16 gajim.png Gajim
Logo 16-16 kopete.png.png Kopete Logo 16-16 tkabber.png Tkabber Logo 16-16 jajc.png JAJC
Icon 16-16 miranda.png Miranda Logo 16-16 qip-logo.png.png QIP Infium Icon 16-16 adium.png Adium

Примечания

  1. Также у этой разновидности есть ещё один недостаток - объём переданных данных приблизительно в 1.5 раза больше размера файла
  2. 2,0 2,1 Подразумевается out-of-band bytestream, XMPP-расширение 0065
  3. 3,0 3,1 3,2 При помощи плагина
  4. В тестовых версиях BombusMod

Необычные способы обмена файлами

Ссылки