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

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
Строка 36: Строка 36:
|-
|-
!bgcolor=lightgreen|In band
!bgcolor=lightgreen|In band
|{{Да|Да<ref>Поддерживают только версии 0.10 и ниже или версии из git</ref>}}
|{{Да|Да<ref>Поддерживают только версии 0.10 и ниже или версии Psi+ из git</ref>}}
|{{Частично}}
|{{Частично}}
|{{Нет}}
|{{Нет}}

Версия 19:03, 14 марта 2011

Введение

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

Теория

Существует несколько протоколов передачи файлов в Jabber. Самым популярным является SI. Другие (Jidlink, Jingle и HTTP) практически не используются. Существуют три разновидности SI:

In-band (в канале)
Медленный и ненадежный[1], но будет работать всегда, при его использовании файлы превращаются в текст с помощью base64 и отсылаются как обычные сообщения. Не требует настройки, но его стоит использовать только при неработоспособности других разновидностей.
Out-of-band[2] (вне канала)
Самый быстрый и надежный, но для его использования компьютер должен иметь внешний IP-адрес, так как файлы посылаются напрямую между клиентами. Узнать, имеется ли у Вас внешний IP-адрес можно тут.
Out-of-band[2] через прокси
Быстрый, надежный, но требует небольшой настройки, при его использовании файлы посылаются через специальный транспорт-прокси на стороне сервера. Используется, когда у компьютера нет внешнего IP-адреса. Это рекомендованный способ.

Не забывайте, что за установление соединения отвечает передающая сторона, поэтому если Вы не можете принять ни один файл, то в этом виноват передающий.

Клиенты

Большинство Jabber-клиентов умеет передавать файлы, но не стоит забывать, что если один клиент умеет передавать файлы только одним способом (например, in-band), а другой - только другим (например, out-of-band), примером может служить связка Bombus+Psi, то нельзя никакими[3] методами передать файл между ними. Поэтому необходимо знать, какими способами может передавать файлы Ваш клиент.

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

Способ Клиент
Psi Gajim Pidgin Kopete Miranda Bombus Tkabber Adium QIP Infium Jabbim JAJC Pandion[4] Talkonaut QutIM
In band Да[5] ? Нет Нет Да Да Да Нет Да Да Да[6] Нет Да ?
Out of band Да Да Да Да Да Нет Да Да Да Да Да[6] Нет ? ?
Через прокси Да Да Да Да Да Нет Да Да Да Да Да[6] Нет Да ?

Практика

Тут приводятся описания настройки передачи файлов в популярных 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. Не всегда это верно. См. "Необычные способы обмена файлами"
  4. Pandion поддерживает только передачу файлов через Jingle
  5. Поддерживают только версии 0.10 и ниже или версии Psi+ из git
  6. 6,0 6,1 6,2 При помощи плагина

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

Ссылки