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

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
(2 columns)
 
(не показано 46 промежуточных версий 14 участников)
Строка 1: Строка 1:
==Введение==
==Введение==
В Jabber, как и у большинства других IM, есть возможность передачи файлов, но, к сожалению, с ней иногда возникают проблемы. Почти всегда они связаны со способом подключения к Интернету. Довольно распространены способы (допустим при подключении к Интернету через локальную сеть или с места работы), при которых затруднительно устанавливать прямые соединения между 2 компьютерами (при обмене сообщениями прямых соединений не происходит, поэтому проблем нет). Если у Вас нет проблем с передачей файлов - Вам повезло и либо у Вас уже настроен клиент, либо у вас хороший способ подключения к интернету. Если передача файлов не работает - то необходимо настраивать клиент.
Практически все средства связи через Интернет, в том числе и Jabber, позволяют обмениваться файлами, но современные способы подключения к сети часто затрудняют обмен файлами. Например, если Вы подключены через локальную сеть или используете компьютер на месте работы - то могут возникнуть проблемы. К счастью, Jabber предоставляет множество средств для решения данной проблемы.


==Теория==
==Теория==
Существует несколько протоколов передачи файлов в Jabber. Самым популярным является ''SI''. Другие (''Jidlink'', [[Jingle]] и [[ru_wikipedia:HTTP|HTTP]]) почти не используются. Существуют три разновидности ''SI'':  
Существует несколько способов передачи файлов в Jabber:
* '''in-bound''' (в канале) - медленный и ненадежный, но будет работать всегда, при его использовании файлы превращаются в текст с помощью base64 и отсылаются как обычные сообщения.
;HTTP File Upload (рекомендуем): Файл загружается на jabber-сервер, а потом отправляется как обычная ссылка, которая будет доступна на всех [[Клиенты Jabber|клиентах]] и у вас, и у собеседника. Самый простой, надежный и 100% совместимый способ - в клиенте настройка не требуется совсем (он просто должен уметь эту функцию), а ссылку можно открыть даже в обычном веб-браузере. Файлы можно слать, даже если собеседник сейчас не в сети. Так как файл сохраняется на сервере, то, во-первых, требуется поддержка такой загрузки с его стороны - но практически везде на сейчас она есть. А во-вторых, так как на это расходуются ресурсы сервера, то там обычно установлены лимиты на размер таких файлов и на время их хранения (на разных по-разному): фотографии, короткие видеоролики или аудиозаметки можно пересылать, но обменяться полноразмерным фильмом так уже не выйдет.
* '''out-of-bound''' (вне канала) - быстрый, надежный, но работает не всегда, при его использовании файлы посылаются напрямую между клиентами.
;In-band (в канале): Самый медленный способ<ref>Также у этой разновидности есть ещё один недостаток - объём переданных данных приблизительно в 1.5 раза больше размера файла</ref>, но будет работать всегда: при его использовании файлы превращаются в текст с помощью [[ru_wikipedia:base64|base64]] и отсылаются как обычные сообщения. Не требует настройки, но его стоит использовать только при неработоспособности других разновидностей.
* '''out-of-bound через прокси''' - быстрый, надежный, но требует настройки, при его использовании файлы посылаются через специальный [[Транспорт|транспорт]]-прокси на стороне сервера.
;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> через прокси:Быстрый как и обычный '''Out-of-band''', но используется в тех случаях, когда у компьютера нет внешнего IP-адреса - при его использовании файлы посылаются через специальный [[Транспорт|транспорт]]-прокси на стороне сервера, поэтому такая передача требует небольшой настройки. Не забывайте, что за установление соединения отвечает передающая сторона, поэтому если Вы не можете принять ни один файл, то в этом виноват передающий.
Самый распространенный 3-ий вид. Его обычно и настраивают.


===Клиенты===
===Клиенты===
Большинство Jabber-клиентов умеет передавать файлы, но не стоит забывать, что если один клиент умеет передавать файлы только одним способом (например, in-bound), а другой - только другим (например, out-of-bound), примером может служить связка [[Bombus]]+[[Psi]], то нельзя никакими<ref>Не всегда это верно. См. "Необычные способы обмена файлами"</ref> методами передать файл между ними. Поэтому необходимо знать, какими способами может передавать файлы Ваш клиент.


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


<center>
<center>
{| class="wikitable"
{| class="wikitable" width=100%
|rowspan=2 align=center bgcolor=lightgreen width=110|'''Способ'''
|rowspan=2 align=center bgcolor=lightgreen width=110|'''Клиент'''
|colspan=12 align=center bgcolor=lightblue|'''Клиент'''
|colspan=17 align=center bgcolor=#77AAFF|'''Способ'''
|-  
|-  
!width=60 bgcolor=lightblue|[[Psi]]
|width=100 bgcolor=#B8E6F5 align=center | '''HTTP Upload'''
!width=60 bgcolor=lightblue|[[Gajim]]
|width=100 bgcolor=#B8E6F5 align=center | '''In band'''
!width=60 bgcolor=lightblue|[[Pidgin]]
|width=100 bgcolor=#B8E6F5 align=center | '''Out of band'''
!width=60 bgcolor=lightblue|[[Kopete]]
|width=100 bgcolor=#B8E6F5 align=center | '''Через прокси'''
!width=60 bgcolor=lightblue|[[Miranda]]
|-
!width=60 bgcolor=lightblue|[[Bombus]]
| align=center|[[XMPP Messenger]] || {{Да}} || {{Да}} || {{Да}} || {{Да}}
!width=60 bgcolor=lightblue|[[Tkabber]]
|-
!width=60 bgcolor=lightblue|[[Adium]]
| align=center|[[Conversations]] || {{Да}} || {{Да}} || {{Да}} || {{Да}}
!width=60 bgcolor=lightblue|[[QIP Infium]]
|-
!width=60 bgcolor=lightblue|[[Jabbim]]
| align=center|[[Dino]] || {{Да}} || {{Нет}} || {{Нет}} || {{Нет}}
!width=60 bgcolor=lightblue|[[JAJC]]
|-
!width=60 bgcolor=lightblue|[[Pandion]]
| align=center|[[Gajim]] || {{Да}} || {{Частично}} || {{Да}} || {{Да}}
|-
| align=center|[[eyeCU]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|-
| align=center|[[Vacuum-IM]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|-
| align=center|[[Psi]] || {{Да}} || {{Да}} || {{Да}} || {{Да}}
|-
| align=center|[[Pidgin]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|-
| align=center|[[Kopete]] || {{Нет}} || {{Нет}} || {{Да}} || {{Да}}
|-
| align=center|[[Miranda]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|-
| align=center|[[Bombus]] || {{Нет}} || {{Да}} || {{Частично}} || {{Да|Да<ref name="bombusmod">В тестовых версиях BombusMod</ref>}}
|-
| align=center|[[Tkabber]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|-
| align=center|[[Adium]] || {{Нет}} || {{Частично}} || {{Да}} || {{Да}}
|-
| align=center|[[QIP Infium]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|-
|-
!bgcolor=lightgreen|In-bound
| align=center|[[Jabbim]] || {{Нет}} || {{Да}} || {{Да}} || {{Да}}
|align=center bgcolor=#FFAAAA|<ref>Поддерживают только версии 0.10 и ниже</ref>
|align=center bgcolor=yellow|?
|align=center bgcolor=#FFAAAA|
|align=center bgcolor=#FFAAAA|
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=yellow|?
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X<ref name="plugin">При помощи плагина</ref>
|align=center bgcolor=#FFAAAA|
|-
|-
!bgcolor=lightgreen|Out-of-bound
| align=center|[[JAJC]] || {{Нет}} || {{Да|Да<ref name="plugin">При помощи плагина</ref>}} || {{Да|Да<ref name="plugin">При помощи плагина</ref>}} || {{Да|Да<ref name="plugin">При помощи плагина</ref>}}
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=#FFAAAA|
|align=center bgcolor=lightgreen|X
|align=center bgcolor=yellow|?
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X<ref name="plugin">При помощи плагина</ref>
|align=center bgcolor=yellow|?
|-
|-
!Через прокси
| align=center|[[Talkonaut]] || {{Нет}} || {{Да}} || {{Частично}} || {{Да}}
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=#FFAAAA|
|align=center bgcolor=lightgreen|X
|align=center bgcolor=yellow|?
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X
|align=center bgcolor=lightgreen|X<ref name="plugin">При помощи плагина</ref>
|align=center bgcolor=yellow|?
|-
|-
|}
|}
</center>
</center>


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


{|
{| width=75%
|width=150|[[Изображение:Icon 16-16 psi.png]] [[Настройка передачи файлов в Psi|Psi]]
|width=50%|[[Изображение:Icon 16-16 psi.png]] [[Настройка передачи файлов в Psi|Psi]]
|width=150|[[Изображение:Icon 16-16 pidgin.png]] [[Настройка передачи файлов в Pidgin|Pidgin]]
|[[Изображение:Icon 16-16 pidgin.png]] [[Настройка передачи файлов в Pidgin|Pidgin]]
|width=150|[[Изображение:Logo 16-16 gajim.png]] [[Настройка передачи файлов в Gajim|Gajim]]
|-
|width=150|[[Изображение:Logo 16-16 coccinella.png]] [[Настройка передачи файлов в Coccinella|Coccinella]]
|[[Изображение:Logo 16-16 gajim.png]] [[Настройка передачи файлов в Gajim|Gajim]]
|[[Изображение:Logo 16-16 coccinella.png]] [[Настройка передачи файлов в Coccinella|Coccinella]]
|-
|-
|[[Изображение:Logo 16-16 kopete.png.png]] [[Настройка передачи файлов в Kopete|Kopete]]
|[[Изображение:Logo 16-16 kopete.png.png]] [[Настройка передачи файлов в Kopete|Kopete]]
|[[Изображение:Logo 16-16 tkabber.png]] [[Настройка передачи файлов в Tkabber|Tkabber]]
|[[Изображение:Logo 16-16 tkabber.png]] [[Настройка передачи файлов в Tkabber|Tkabber]]
<!--|[[Изображение:Logo 16-16 bombus.png]] [[Настройка передачи файлов в Bombus|Bombus]]-->
|-
|[[Изображение:Icon 16-16 pandion.png]] [[Настройка передачи файлов в Pandion|Pandion]]
|[[Изображение:Logo 16-16 jajc.png]] [[Настройка передачи файлов в JAJC|JAJC]]
|[[Изображение:Logo 16-16 jajc.png]] [[Настройка передачи файлов в JAJC|JAJC]]
|[[Изображение:Icon 16-16 adium.png]] [[Настройка передачи файлов в Adium|Adium]]
|-
|-
|[[Изображение:Icon 16-16 miranda.png]] [[Настройка передачи файлов в Miranda|Miranda]]
|[[Изображение:Icon 16-16 miranda.png]] [[Настройка передачи файлов в Miranda|Miranda]]
|[[Изображение:Logo 16-16 qip-logo.png.png]] [[Настройка передачи файлов в QIP Infium|QIP Infium]]
|[[Изображение:Logo 16-16 qip-logo.png.png]] [[Настройка передачи файлов в QIP Infium|QIP Infium]]
|[[Изображение:Icon 16-16 adium.png]] [[Настройка передачи файлов в Adium|Adium]]
|
|-
|-
<!--|[[Изображение:Logo 16-16 bombus.png]] [[Настройка передачи файлов в Bombus|Bombus]]-->
<!--[[Изображение:Icon 16-16 pandion.png]] [[Настройка передачи файлов в Pandion|Pandion]]-->
|}
|}


Строка 112: Строка 96:
== Ссылки ==
== Ссылки ==


* [[Выявление NAT в Windows Vista]]
* [[Выявление NAT]]
* [http://ru.tkabber.jabe.ru/index.php/Пересылка_файлов:_теория Описание протоколов и способов передачи файлов в Jabber (для продвинутых)]
* [http://chiselapp.com/user/sgolovan/repository/tkabber-wiki/doc/tip/wiki/ru/%D0%9F%D0%B5%D1%80%D0%B5%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2__%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F.md Описание протоколов и способов передачи файлов в Jabber (для продвинутых)] ([http://ru.tkabber.jabe.ru/index.php/Пересылка_файлов:_теория оригинальная ссылка, давно нерабочая]).
* [http://miranda.im/2009/03/14/jabber-file-transfers/ Руководство по настройке файлопередачи] на примере [[Miranda]]. {{deadlink}}
* [[Список публичных транспортов proxy]]
* [[Список публичных транспортов proxy]]


[[Category:Передача файлов]]
[[Category:Передача файлов]]

Текущая версия на 13:05, 25 сентября 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-клиентов:

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

Практика[править]

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

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

Примечания[править]

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

Необычные способы обмена файлами[править]

Ссылки[править]