Обычно, реализацию протокола на низком уровне, берут на себя библиотеки. Решил подумать(пофантазировать): как должна работать подобная «библиотека» в Inferno ОС, если все представить в виде файлов.
Утилита для реализации XMPP, в дальнейшем, просто, XMPP, устанавливает соединение с JABBER сервером, в результате, в точке монтирования /mnt/xmpp, создаются файлы для работы и управления сервером:
presence — файл куда пишем свой статус и команды(unavailable, например), параметры show — как отображать(away — временно ушел, chat — чат, dnd — ресурс занят или не беспокоить...), status – статус адресата(онлайн, готов к чату… пишет сообщение), priority — приоритет ресурса, — мы «сказали» серверу как нас отображать;
файл message, откуда будем читать сообщения от сервера.
Работа с ростером. Необходимо файлами отобразить всю информацию о соответсвующем JabberID и манипулировать ими.
Пример получения информации с сервера:
<item jid='romeo@example.net'
name='Romeo'
subscription='both'>
<group>Friends</group>
<group>Body</group>
</item>
Для каждого пункта в ростере используются параметры: jid, subscription, name, <group>.
Возможно в нашей папке монтирования должны быть папки с JID-ами адресатов, одна папка – один адресат, к примеру папки:
iuser@jabber.org
secondusr@xmpp.ru,
В каждой из них файлы:
item — текстовый файл откуда читаем/пишем параметры: name — как отображать название данного контакта, subscription — подписка, group — группа в которой состоит контакт;
присутствие и управление подпиской адресата определяется тэгом <presence>, значит нам нужен такой же файл:
presence — файл куда пишем команды(subscribe, unsubscribe, probe или пустую строку), читаем информацию о пользователе и его статус: параметры show, status, priority;
message – откуда/куда читаем/пишем сообщения с параметрами type, subject и body(записав туда текст — он уходит получателю, отсюда читаем полученное сообщение). Например:
echo hello>/mnt/xmpp/iuser@jabber.org/message отправит текст «hello» адресату iuser@jabber.org.
Создавая папку — автоматически создается контакт.
К сожалению я не знаю основательно ни Inferno, ни всех возможностей XMPP – это все в процессе.
Очень интересно мнение окружающих: как должно быть?:-)
Утилита для реализации XMPP, в дальнейшем, просто, XMPP, устанавливает соединение с JABBER сервером, в результате, в точке монтирования /mnt/xmpp, создаются файлы для работы и управления сервером:
presence — файл куда пишем свой статус и команды(unavailable, например), параметры show — как отображать(away — временно ушел, chat — чат, dnd — ресурс занят или не беспокоить...), status – статус адресата(онлайн, готов к чату… пишет сообщение), priority — приоритет ресурса, — мы «сказали» серверу как нас отображать;
файл message, откуда будем читать сообщения от сервера.
Работа с ростером. Необходимо файлами отобразить всю информацию о соответсвующем JabberID и манипулировать ими.
Пример получения информации с сервера:
<item jid='romeo@example.net'
name='Romeo'
subscription='both'>
<group>Friends</group>
<group>Body</group>
</item>
Для каждого пункта в ростере используются параметры: jid, subscription, name, <group>.
Возможно в нашей папке монтирования должны быть папки с JID-ами адресатов, одна папка – один адресат, к примеру папки:
iuser@jabber.org
secondusr@xmpp.ru,
В каждой из них файлы:
item — текстовый файл откуда читаем/пишем параметры: name — как отображать название данного контакта, subscription — подписка, group — группа в которой состоит контакт;
присутствие и управление подпиской адресата определяется тэгом <presence>, значит нам нужен такой же файл:
presence — файл куда пишем команды(subscribe, unsubscribe, probe или пустую строку), читаем информацию о пользователе и его статус: параметры show, status, priority;
message – откуда/куда читаем/пишем сообщения с параметрами type, subject и body(записав туда текст — он уходит получателю, отсюда читаем полученное сообщение). Например:
echo hello>/mnt/xmpp/iuser@jabber.org/message отправит текст «hello» адресату iuser@jabber.org.
Создавая папку — автоматически создается контакт.
К сожалению я не знаю основательно ни Inferno, ни всех возможностей XMPP – это все в процессе.
Очень интересно мнение окружающих: как должно быть?:-)