2010-11-02 14 views
5

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

जेएमएस के लिए मैंने वेबलॉगिक का उपयोग किया।

उत्तर

10

आपके पास कुछ विकल्प हैं। चलो सबसे खराब नहीं होने के कारण सबसे खराब हो जाते हैं।

पहले Quercus, जावा में एक PHP कार्यान्वयन है। Quercus में चल रहे PHP कोड जावा क्लास को तुरंत चालू कर सकते हैं और उन पर कॉल विधियों को ठीक कर सकते हैं, जैसे कि वे PHP ऑब्जेक्ट्स थे। आप JMS के साथ उसी तरह काम करने में सक्षम होंगे जैसे आप जावा में इसके साथ काम करेंगे। मुझे इस के साथ कोई अनुभव नहीं है।

दूसरा the PHP/Java Bridge है। काम करने के लिए यह थोड़ा और जटिल है, लेकिन यह प्रभावी ढंग से क्विकस, कोड-वार के समान काम करता है। आप किसी भी पुराने जावा एपीआई के साथ सीधे काम करने में सक्षम होंगे। मुझे इस के साथ अनुभव है, और यह सुखद नहीं था। इसी अपाचे + PHP बच्चे से बाहर निकलने के बाद जावा प्रक्रियाएं एक ज़ोंबी राज्य में लटकती हुईं। अंत में सभी कामकाजी जावा प्रक्रियाओं को साफ करने के लिए हमें अंततः एक क्रॉन स्क्रिप्ट लिखनी पड़ी, अन्यथा सर्वर अंततः उपलब्ध स्मृति से बाहर हो जाएगा।

तीसरा ActiveMQ जैसे विभिन्न जेएमएस प्रदाताओं को देखेगा। क्यूं कर? क्योंकि ActiveMQ Stomp समेत कई मैसेजिंग एपीआई का समर्थन करता है, एक भाषा-अज्ञात संदेश API जो a PHP extension होता है। यह संभव है कि वेबलॉगिक Stomp बोल सकता है, लेकिन मैं यह निर्धारित करने में असमर्थ था कि यह मामला है या नहीं। केवल Google परिणाम Weblogic + ActiveMQ integration के लिए थे।

चौथा जेएमएस के बारे में नहीं सोच रहा होगा। जेएमएस एक जावा समाधान है। PHP जावा नहीं है। वहां बहुत सारे संदेश कतार सिस्टम हैं जो PHP के साथ अच्छी तरह से काम करते हैं। ActiveMQ केवल एक उदाहरण है। मैं व्यक्तिगत रूप से Gearman पसंद करता हूं। गियरमैन को मूल रूप से शर्मीली रिमोट प्रक्रिया कॉल करने के लिए डिज़ाइन किया गया था, लेकिन यह सरल संदेश पास करने के लिए समान रूप से काम करता है, और a PHP extension के साथ-साथ सूर्य के नीचे अन्य भाषाओं के लिए बाइंडिंग भी है।

2

बस दो अन्य विकल्प देने के लिए: OpenMQ (using HTTP) और PHPMQ

(मेरे दो स्वीकार किए जाते हैं जवाब के बारे में सेंट) महान जवाब है, एक वक्रोक्ति: Gearman दूरस्थ प्रक्रिया कॉल के लिए अच्छा है, लेकिन संदेश के रूप में पारित करने, JMS है बहुत अधिक मजबूत (दृढ़ता, आदि)। किसी भी तरह से जेएमएस के लिए लक्ष्य मेरा सुझाव होगा।

+0

आपका उत्तर एक * stub * प्रतीत होता है। कृपया एक लिंक पोस्ट करने के बजाय [अधिक वास्तविक विवरण] (http://meta.stackexchange.com/a/72002/141525) प्रदान करें। – animuson

+1

मैं केवल स्वीकृत उत्तर में सूचीबद्ध नहीं किए गए अतिरिक्त विकल्पों की पेशकश करने की कोशिश कर रहा हूं ... – PhilGA

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