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

3005 байт добавлено ,  13:49, 28 августа 2008
нет описания правки
Строка 2: Строка 2:
В Jabber, как и у большинства других IM, есть возможность передачи файлов, но, к сожалению, с ней часто возникают проблемы. Почти всегда они связаны со способом подключения к интернету. Довольно распространены способы (в частности NAT и прокси), при которых затруднительно устанавливать прямые соединения между 2 компьютерами (при обмене сообщениями прямых соединений не происходит, поэтому проблем нет). Если у Вас нет проблем с передачей файлов - Вам повезло и либо у Вас уже настроен клиент, либо у вас хороший способ подключения к интернету. Если передача файлов не работает (допустим у Вас выход в интернет через локальную сеть) - то необходимо настраивать клиент.
В Jabber, как и у большинства других IM, есть возможность передачи файлов, но, к сожалению, с ней часто возникают проблемы. Почти всегда они связаны со способом подключения к интернету. Довольно распространены способы (в частности NAT и прокси), при которых затруднительно устанавливать прямые соединения между 2 компьютерами (при обмене сообщениями прямых соединений не происходит, поэтому проблем нет). Если у Вас нет проблем с передачей файлов - Вам повезло и либо у Вас уже настроен клиент, либо у вас хороший способ подключения к интернету. Если передача файлов не работает (допустим у Вас выход в интернет через локальную сеть) - то необходимо настраивать клиент.


==Способы передачи файлов==
==Теория==
Существует несколько протоколов передачи файлов в Jabber. Самым популярным, новым и официальным является SI. Существуют две разновидности SI: in-bound (в канале) и out-of-bound (вне канала). Первый медленный и ненадежный, но будет работать почти всегда, при его использовании файлы посылаются точно так же, как и сообщения. Второй быстрый, надежный, но работает не всегда, при его использовании файлы посылаются либо напрямую, либо через специальный прокси.
Существует несколько протоколов передачи файлов в Jabber. Самым популярным, новым и официальным является SI. Существуют две разновидности SI: in-bound (в канале) и out-of-bound (вне канала). Первый медленный и ненадежный, но будет работать почти всегда, при его использовании файлы превращаются в сообщения с помощью base64 и отсылаются как обычные сообщения. Второй быстрый, надежный, но работает не всегда, при его использовании файлы посылаются либо напрямую, либо через специальный прокси.


===Клиенты===
===Клиенты===
Bombus и Gajim не нуждаются в настройке, так как первый использует in-bound, а второй без настройки умеет передавать файлы через свой прокси. Настройка описывается на примере Psi 0.12.
Bombus и Gajim не нуждаются в настройке, так как первый использует in-bound, а второй без настройки умеет передавать файлы через свой прокси. Важно понимать, что если один клиент умеет передавать файлы только in-bound, а другой - только out-of-bound (допустим связка Bombus+Psi), то нельзя никакими методами передать файл между ними. Поэтому необходимо знать, какими способами может передавать файлы Ваш клиент
 
==Практика==
==Настройка==
Настройка описывается на примере Psi 0.12.  
Нажимаем правой кнопкой мыши на имени Вашей учетной записи в ростере  - Service Discovery.  
Нажимаем правой кнопкой мыши на имени Вашей учетной записи в ростере  - Service Discovery.  


Строка 26: Строка 26:


и пользуемся передачей файлов.
и пользуемся передачей файлов.
==Jdisk==
Иногда случается, что обязательно необходимо передать файл(ы), но это невозможно (см. подраздел клиенты). И тут на помощь приходит транспорт jdisk. Его можно обнаружить на серверах jabbus.org и jabbim.cz. Данный транспорт работает как виртуальный диск, который управляется через jabber. На Jabbus.org размер диска составляет 50 мб,а на jabbim - 100мб. При подключении транспорта в ростер добавляются 2 (или 3) контакта - public и private. Разница между ними в том,что при первом файлы попадают в общий [http://disk.jabbus.org/public/ список файлов],а в другом - нет.Для того чтобы залить файл на транспорт, нужно всего лишь передать его через Jabber public или private контакту. Транспорт пошлет Вам прямую ссылку на файл. Команды, которыми можно управлять транспортом :
du -- выводит информацию о занятом и свободном месте на диске;
ls [jid] -- показ всех файлов на диске. При указании jid будет показано содержимое папки public указанного jid;
get [jid] имя_файла -- запрос указанного файла. При указании jid, вам будет послан файл из папки public указанного jid;
move имя_файла disk -- перемещение указанного файла на другой диск. Например, если эту команду отправить контакту public с параметром disk=private, файл переместится на диск private;
rm имя_файла -- удаление с диска указанного файла;
link имя_файла -- показать URL (ссылку) на данный файл в папке public;
send jid/resource имя_файла -- диск попытается отправить файл данному jid с данным resource. Без указания resource отправка не будет работать;