2012-06-23 6 views
5

में दो डेमॉन कनेक्ट करें पाइथन में दो डिमों को जोड़ने का सबसे अच्छा तरीका क्या है?पायथन

मैं डेमॉन एक है और बी मैं (शायद द्विदिश) एक के मॉड्यूल में बी द्वारा उत्पन्न डेटा प्राप्त करना चाहते हैं। दोनों डेमन्स प्लगइन का समर्थन करते हैं, इसलिए मैं प्लगइन में संचार बंद करना चाहता हूं। ऐसा करने के लिए सबसे अच्छा और क्रॉस-प्लेटफ़ॉर्म तरीका क्या है?

मुझे निम्न स्तर के समाधान - साझा स्मृति (सी/सी ++), लिनक्स पाइप, सॉकेट (टीसीपी/यूडीपी), आदि और कुछ उच्च स्तरीय कतार (जेएमएस, खरगोश), आरपीसी से कुछ तंत्र पता है।

दोनों डेमॉन एक ही मेजबान पर चलाना चाहिए, लेकिन स्पष्ट रूप से बेहतर दृष्टिकोण कनेक्शन प्रकार से सार है।

क्या अजगर में विशिष्ट समाधान/पुस्तकालयों रहे हैं? मैं एक सुरुचिपूर्ण और हल्के समाधान की तलाश में हूं। मुझे बाहरी सर्वर की आवश्यकता नहीं है, केवल दो प्रक्रियाएं एक दूसरे के साथ बात कर रही हैं।

ऐसा करने के लिए मुझे अजगर में क्या उपयोग करना चाहिए? http://docs.python.org/howto/sockets.html

इसके अलावा दूरस्थ प्रक्रिया है कि के लिए सूट कॉल:

+1

एक संदेश कतार सबसे अधिक आकर्षक समाधान है। – ThiefMaster

+0

संदेश कतार के रूप में हम्म मैं RabbitMQ/JMS, आदि को समझता हूं। मैं पूरे संचार को संभालने के लिए बाहरी, तीसरे डेमॉन/सर्वर से बचना चाहता हूं। संचार के अलावा वास्तव में गहन होगा, इसलिए शायद कतार सबसे सुंदर तरीका है, मुझे लगता है कि कुछ आसान बेहतर हो सकता है। – Simon

+1

मैं dbus कहूंगा, लेकिन अब dbus के विंडोज संस्करण है। – dav1d

उत्तर

0

मुझे यकीन है कि नहीं कर रहा हूँ कैसे भारी अपने यातायात है, लेकिन मैं asyncore पैकेज की सिफारिश करता हूं। इसका उपयोग करने के लिए काफी सरल है और यह सॉकेट पर आधारित है।

मैंने इस लंबे समय से कमांड-पैटर्न किया था। यदि आप रुचि रखते हैं तो मैं कोड खोद सकता हूं।