Передача файлов
Введение
В Jabber, как и у большинства других IM, есть возможность передачи файлов, но, к сожалению, с ней часто возникают проблемы. Почти всегда они связаны со способом подключения к интернету. Довольно распространены способы (в частности NAT и прокси), при которых затруднительно устанавливать прямые соединения между 2 компьютерами (при обмене сообщениями прямых соединений не происходит, поэтому проблем нет). Если у Вас нет проблем с передачей файлов - Вам повезло и либо у Вас уже настроен клиент, либо у вас хороший способ подключения к интернету. Если передача файлов не работает (допустим у Вас выход в интернет через локальную сеть) - то необходимо настраивать клиент.
Теория
Существует несколько протоколов передачи файлов в Jabber. Самым популярным, новым и официальным является SI. Другие (Jidlink и HTTP) сейчас почти не используются. Существуют три разновидности SI:
- in-bound (в канале) - медленный и ненадежный, но будет работать почти всегда, при его использовании файлы превращаются в текст с помощью base64 и отсылаются как обычные сообщения.
- out-of-bound (вне канала) - быстрый, надежный, но не работает за NAT'ом, при его использовании файлы посылаются напрямую между клиентами.
- out-of-bound через прокси - быстрый, надежный, но требует настройки, при его использовании файлы посылаются через специальный транспорт-прокси на стороне сервера.
Самый предпочтительный 3-ий вид. Его обычно и настраивают.
Клиенты
Bombus и Gajim не нуждаются в настройке, так как первый использует in-bound, а второй поставляется уже настроенным. Важно понимать, что если один клиент умеет передавать файлы только in-bound, а другой - только out-of-bound (допустим связка Bombus+Psi), то нельзя никакими методами передать файл между ними. Поэтому необходимо знать, какими способами может передавать файлы Ваш клиент
Практика
Настройка передачи файлов в популярных Jabber-клиентах:
Psi | Pidgin | Gajim |
Kopete | Tkabber | Pandion |
Miranda | QIP Infium | Adium |