Учебник для libjingle? - PullRequest
       12

Учебник для libjingle?

5 голосов
/ 17 февраля 2012

Libjingle кажется очень мощным и поставляется с кучей примеров программ и расширений.И все же я не смог его использовать, и люди, с которыми я разговаривал на IRC, сказали мне, что они обнаружили, что API был беспорядком, и мне лучше использовать что-то еще.

Но я готовчтобы дать ему еще одну попытку.У кого-нибудь есть хороший учебник?Или хорошая презентация разных классов, для начала?(Официальной документации Google нет).

Ответы [ 2 ]

1 голос
/ 18 июня 2012

Если у вас проблемы со сборкой, мне жаль вас, сынок.Потому что, если серьезно, libjingle - это сука для компиляции.Если вы можете скомпилировать его для любой платформы, на которой вы строите, то вы на 90% пути.Это действительно будет зависеть от того, будете ли вы сидеть на выходных и разбираться с проблемами компилятора один за другим.Два быстрых указателя для XCode: удалите (но не удалите) все специфические для Windows дерьмо и удалите все файлы, у которых есть основной метод (юнит-тесты и сеть.)

Как только вы его построите, API будетна самом деле довольно просто.Архитектура типичного приложения libjingle имеет несколько выполняемых задач XMPP.Некоторые задачи являются выходными задачами, которые будут отправлять разделы: http://code.google.com/p/libjingle/source/browse/trunk/talk/examples/call/friendinvitesendtask.cc (посмотрите на метод Send). Это должно быть довольно простым.Он создает раздел XML и ставит его в очередь для обработки XMPPclient.

Существуют также входные задачи, которые обрабатывают строфы: http://code.google.com/p/libjingle/source/browse/trunk/talk/examples/call/mucinviterecvtask.cc (посмотрите на метод HandleStanza)

Хотя этот конкретный метод HandleStanza является дерьмовым шоу, суть егочто этот метод вызывается для всех сообщений XMPP.Сначала вам нужно определить, заботитесь ли вы об этом или нет:

if (stanza->Name() != QN_MESSAGE) return false;

Затем вы пройдетесь по XML и извлечете необходимую вам информацию и оповестите части своего приложения, которые заботятся об этом.

Конечно, есть и API-интерфейс туннелирования, который существенно сложнее и не входит в сферу ответа StackOverflow.Если есть достаточно интереса, я могу в этом разобраться, но я рекомендую вам сначала хотя бы настроить libjingle и передать некоторые сообщения XMPP, прежде чем погрузиться в настройку туннелей.

Последний указатель на использование libjingle: be EXTREMELYосторожнее с резьбами.

1 голос
/ 14 июня 2012

Я только что построил libjingle.Он не собирался из коробки и требовал некоторых патчей (задокументировано на сайте libjingle).И я собираюсь сделать сквозные тесты с ним.Я рад поделиться тем, что узнал.

...