Передача файлов

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску

Введение

Практически все средства связи через Интернет, в том числе и 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
HTTP Upload Да Да Да Да Нет Нет Да Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет
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

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

Ссылки