मैं bjsonrpc का लेखक हूं। मुझे यकीन है कि आप जो करना चाहते हैं उसे करना संभव है।
कुछ चीजें शायद खराब दस्तावेज हैं या शायद कुछ उदाहरणों की आवश्यकता है।
लेकिन, संक्षेप में, हैंडलर आंतरिक राज्यों (जैसे प्रमाणीकृत या नहीं, या शायद उपयोगकर्ता नाम) स्टोर कर सकते हैं। किसी भी हैंडलर से आप "कनेक्शन" कक्षा तक पहुंच सकते हैं, जिसमें सॉकेट स्वयं होता है।
ऐसा लगता है कि आप एक उदाहरण के रूप में चैट की तरह कुछ चाहते हैं। मैंने अतीत में कुछ ऐसा किया था। मैं एक नई रिलीज के लिए चैट उदाहरण जोड़ने की कोशिश करूंगा।
आंतरिक राज्यों यहां समझाए गए हैं: http://packages.python.org/bjsonrpc/tutorial1/index.html#stateful-server
वे प्रमाणीकरण के लिए इस्तेमाल किया जाना चाहिए (लेकिन कोई मानक प्रमाणन विधि अभी तक प्रदान की जाती है)।
हैंडलर से कनेक्शन क्लास तक कैसे पहुंचे, यह अभी तक दस्तावेज नहीं है (क्षमा करें), लेकिन कभी-कभी स्रोत कोड के अंदर उदाहरणों में इसका उपयोग किया जाता है। उदाहरण के लिए, example1-server.py इस सार्वजनिक समारोह में शामिल है:
def gettotal(self):
self._conn.notify.notify("total")
return self.value_total
BaseHandler._conn है कि उपयोगकर्ता के लिए कनेक्शन का प्रतिनिधित्व करता है।
conn = bjsonrpc.connect(host=host,port=port,handler_factory=MyHandler)
तो, आप एक वैश्विक चर में लॉग इन उपयोगकर्ताओं के लिए कनेक्शन स्टोर कर सकते हैं, और बाद में किसी भी ग्राहक विधि आप करना चाहते हैं फोन: और वास्तव में एक ही कक्षा जब आप कनेक्ट हो जाता है।
क्या यह क्लाइंट पुश पर सर्वर कर सकता है, यदि हां, तो क्या वहां कोई उदाहरण है? –