विचार/संदर्भ:पुश Socket.IO और PHP का उपयोग सूचनाएं
मैं अपने उपयोगकर्ताओं के लिए एक अच्छा थोड़ा अतिरिक्त सुविधा देने के बारे में सोच रहा हूँ: मैं पुश नोटिफिकेशन जोड़ना चाहते हैं। यह उपयोग का मामला है:
लोगों के पास उनके प्रोफाइल पेज पर अतिथि पुस्तिका है। जब कोई उपयोगकर्ता की गेस्टबुक में कोई संदेश पोस्ट करता है, तो उस उपयोगकर्ता को पुश अधिसूचना प्राप्त होगी (यदि वह ऑनलाइन है)। यदि वह ऑनलाइन नहीं है, अगली बार जब वह ऑनलाइन आता है, तो हम सिर्फ डीबी से नोटिफिकेशन खींचेंगे।
मैं सॉकेट.आईओ के साथ ऐसा करने के बारे में सोच रहा था जो नोड.जेएस सर्वर पर चल रहा है। मेरा वर्तमान एप्लिकेशन PHP के साथ बनाया गया है (इसलिए पोस्टिंग इत्यादि PHP द्वारा संभाला जाता है)।
सभी ऑनलाइन उपयोगकर्ता अपनी सूचनाओं को सुनने के लिए सॉकेट.आईओ का उपयोग कर कनेक्ट करेंगे। उनकी सॉकेट सर्वर पर सरणी या हैश में सहेजी जाएगी।
इस प्रवाह को ध्यान में मेरे पास है:
- UserA UserB की गेस्टबुक में संदेश पोस्ट
- Socket.IO UserB के लिए सूचना का उत्सर्जन (यदि ऑनलाइन है, तो Socket.IO से जाना जाता है) बनाओ
- डीबी
में संदेश सहेजें यहां मुद्दा यह है भाग 'Socket.IO एक अधिसूचना फेंकना बनाने'। मुझे PHP से ऐसा करने का एक तरीका चाहिए, क्योंकि मुझे सर्वर इस अधिसूचना को उत्सर्जित करने और उपयोगकर्ता संदेश पोस्ट करने वाला नहीं है। तुम क्यों पूछते हो? मैं दुर्भावनापूर्ण उपयोगकर्ताओं को नकली नोटिफिकेशन बनाने से रोकना चाहता हूं। तो स्यूडोकोड में पीएचपी आवेदन इस प्रकार दिखाई देगा:
// do some validations here ...
// This is the message that was posted
$message = array(
'from' => 'UserA',
'to' => 'UserB',
'msg' => 'Hello you'
);
// Send a notification to the user by emitting an event
socketio_emit('notification', json_encode($message));
save_in_db($message);
प्रश्न (ओं):
इस बारे में आपके क्या विचार हैं? क्या यह प्रतीत होता है कि यह छोटी सी सुविधा को लागू करने के बेहतर तरीके हैं? और, मैं PHP में socketio_emit()
कैसे करूं, दूसरे शब्दों में: मैं PHP का उपयोग कर सॉकेट.आईओ सर्वर के साथ कैसे संवाद करूं?
बहुत बहुत धन्यवाद!
सर्वर पर निरंतर खुला कनेक्शन रखकर पुश नोटिफिकेशन बनाए रखा जाता है। –
http://stackoverflow.com/q/6933497/11963 – hangy
@ कोलेजोहनसन मुझे लगता है कि आप लंबे मतदान का जिक्र कर रहे हैं। सवाल वास्तव में है: मैं PHP का उपयोग कर सॉकेट.आईओ सर्वर के साथ कैसे संवाद कर सकता हूं। – EsTeGe