2012-02-16 10 views
5

लिबजिंगल बहुत शक्तिशाली लगता है और नमूना कार्यक्रमों और एक्सटेंशन के समूह के साथ आता है। फिर भी मैं इसका उपयोग करने में सक्षम नहीं हूं, और जिन लोगों से मैंने आईआरसी पर बात की है, उन्होंने मुझे बताया है कि उन्होंने पाया कि एपीआई एक गड़बड़ थी और मुझे कुछ और इस्तेमाल करना चाहिए।libjingle के लिए एक ट्यूटोरियल?

लेकिन मैं इसे एक और प्रयास देने के लिए तैयार हूं। क्या किसी के पास एक अच्छा ट्यूटोरियल है? या शुरू करने के लिए विभिन्न वर्गों की एक अच्छी प्रस्तुति? (Google का आधिकारिक दस्तावेज नहीं है)।

उत्तर

1

मैंने अभी libjingle बनाया है। इसने बॉक्स के बाहर नहीं बनाया और कुछ पैच की आवश्यकता थी (libjingle साइट पर दस्तावेज)। और मैं इसके साथ अंत तक परीक्षण करने जा रहा हूं। मुझे जो चीजें सीखती हैं उन्हें साझा करने में मुझे खुशी है।

+0

libjingle दस्तावेज़ और इसे बनाने के लिए चरणों के लिए जानकारी प्रदान कर सकते हैं। अग्रिम में धन्यवाद। –

1

यदि आपको समस्याएं पैदा हो रही हैं, तो मैं आपके लिए बुरा महसूस करता हूं, बेटा। गंभीरता से, libjingle संकलित करने के लिए एक कुतिया है। यदि आप जिस प्लेटफॉर्म पर निर्माण कर रहे हैं उसके लिए इसे संकलित कर सकते हैं, तो आप वहां से 9 0% रास्ते हैं। यह वास्तव में आप पर निर्भर करता है कि आप एक सप्ताहांत में बैठे हैं और एक-एक करके कंपाइलर मुद्दों के माध्यम से बहते हैं। Xcode के लिए दो त्वरित संकेत: निकाल सकते हैं (लेकिन नहीं हटाते हैं) सभी खिड़कियां विशेष गंदगी, और एक मुख्य विधि (। Unittests और साधन)

है कि एक बार जब आप इसे बनाया है सभी फाइलों को निकालने के लिए, एपीआई वास्तव में नहीं बल्कि है सीधी-सपाट। एक ठेठ libjingle आवेदन के आर्किटेक्चर में कई एक्सएमपीपी कार्य चलते हैं। कुछ कार्य आउटपुट कार्य होते हैं जो stanzas भेज देंगे: http://code.google.com/p/libjingle/source/browse/trunk/talk/examples/call/friendinvitesendtask.cc (भेजें विधि देखें) यह बहुत सीधे आगे होना चाहिए। यह एक एक्सएमएल स्टेन्ज़ा बनाता है और XMPPclient को संसाधित करने के लिए इसे कतारबद्ध करता है।

भी इनपुट कार्यों कि पद पर कार्रवाई कर रहे हैं: http://code.google.com/p/libjingle/source/browse/trunk/talk/examples/call/mucinviterecvtask.cc (HandleStanza विधि पर नज़र)

जबकि इस विशेष HandleStanza विधि एक बकवास शो है, यह का सार है कि इस विधि सभी के लिए कहा जाता है एक्सएमपीपी संदेश।

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

तो फिर तुम एक्सएमएल के माध्यम से चलना और आपके लिए आवश्यक जानकारी और अपने अनुप्रयोग का संकेत भागों है कि इस बारे में परवाह बाहर खींच करेंगे: आप पहले तय करें कि आप या इसके बारे में नहीं परवाह की जरूरत है।

बेशक, सुरंग एपीआई भी है, जो काफी जटिल है और वास्तव में स्टैक ओवरफ्लो उत्तर के दायरे में नहीं है। यदि पर्याप्त रुचि है तो मैं इसमें शामिल हो सकता हूं, लेकिन मैं अनुशंसा करता हूं कि आप कम से कम libjingle सेट अप करें और सुरंगों को स्थापित करने से पहले कुछ एक्सएमपीपी संदेशों को पास करें।

libjingle का उपयोग करने के बारे में एक आखिरी सूचक: थ्रेडिंग के बारे में बेहद सावधान रहें।

संबंधित मुद्दे