2012-02-16 4 views
5

Libjingleは非常に強力なようだし、サンプルプログラムと拡張機能の束が付属しています。しかし、私はそれを使用することができませんでした。私がIRCで話したことがある人は、APIが混乱していて、むしろ別のものを使うべきであることを発見したと私に言ってきました。libjingleのチュートリアルですか?

しかし、もう一度試してみるつもりです。誰も良いチュートリアルを持っていますか?または、異なるクラスの良いプレゼンテーションを開始するには? (Googleの公式文書ではない)。

答えて

1

私はlibjingleを作成しました。それはすぐに構築されず、いくつかのパッチが必要でした(libjingleサイトで文書化されています)。そして私はそれを使ってエンドツーエンドのテストをしようとしています。私は学ぶことを分かち合うことができて嬉しいです。

+0

は、libjingleドキュメントとそれを構築する手順に関する情報を提供できます。前もって感謝します。 –

1

ビルドに問題がある場合は、私はあなたに悪いと感じています。真剣に考えて、libjingleはコンパイルされた雌犬です。あなたが構築しているどのプラットフォームでもコンパイルできれば、その90%はあなたのところにあります。実際には、週末に座ってコンパイラの問題を1つずつ調べることに依存しています。 Xcodeのための2つのクイックポインタ:(削除しないでください)すべてのウィンドウ固有のたわごとを削除し、mainメソッド(unittestsとmains)を持つすべてのファイルを削除します。

あなたがそれをビルドしたら、まっすぐ進む。典型的なlibjingleアプリケーションのアーキテクチャには、実行されるいくつかのXMPPタスクがあります。いくつかのタスクは、スタンザを送信する出力タスクです。 http://code.google.com/p/libjingle/source/browse/trunk/talk/examples/call/friendinvitesendtask.cc (Sendメソッドを参照してください) これはかなり単純です。それはXMLスタンザを構築し、XMPPクライアントが処理するためにそれをキューに入れます。

スタンザを処理し、入力作業もあります。この特定のHandleStanza方法はたわごとショーですが http://code.google.com/p/libjingle/source/browse/trunk/talk/examples/call/mucinviterecvtask.cc (HandleStanza方法を見て)

は、その要旨は、このメソッドはすべてのために呼ばれているということですXMPPメッセージ

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

は、その後、あなたがXMLを歩くと、この気にあなたが必要とする情報、アプリの信号部分を引き出しましょう:あなたは、まず、あなたがそれについてか気にするかどうかを決定する必要があります。

もちろん、実際にはStackOverflowの答えの範囲内ではありませんが、はるかに複雑なトンネリングAPIもあります。十分な興味があれば、これに入ることができますが、少なくともlibjingleを設定し、トンネルの設定に入る前にいくつかのXMPPメッセージを渡すことをお勧めします。

libjingleを使用する最後のポインタが1つあります。スレッディングには非常に注意してください。

関連する問題