2011-01-08 6 views
9

पर एसएमएस प्राप्त करना मेरे पास एक प्रोजेक्ट आ रहा है जहां मुझे एक विशिष्ट मोबाइल ऑपरेटर के माध्यम से संदेश भेजने और प्राप्त करने की आवश्यकता है, जो केवल एक एसएमपीपी इंटरफेस प्रदान करता है। पूरी परियोजना एक होस्टेड वेबसाइट होगी। मैंने पहले से ही बहुत कुछ पढ़ा है, लेकिन मुझे अभी तक समझ में नहीं आता है कि वास्तव में प्रोटोकॉल का उपयोग करने के लिए मेरी तरफ से क्या चाहिए।एसएमपीपी

क्या मेरा आवेदन smpp के निरंतर कनेक्शन को बनाए रखने का प्रयास करना चाहिए? क्या मैं बस कनेक्ट कर सकता हूं, एक संदेश भेज सकता हूं और फिर डिस्कनेक्ट कर सकता हूं?

पुश या पुल के आधार पर संदेश प्राप्त कर रहे हैं?

सहायता के लिए धन्यवाद।

+0

जानकारी के लिए आप यहाँ http://blog.ektel.com जाँच कर सकते हैं .np/2012/01/एसएमएस-संदेश-बीच-esme-server-and-smsc-server/ मुझे उम्मीद है कि इससे मदद मिलती है –

उत्तर

4

आप एक परिणाम के कम से कम एक bind_receiver की जरूरत है, तो आप संदेश प्राप्त करना चाहते बताते हुए कर रहे हैं। क्योंकि आप नहीं जानते कि संदेश कब आने जा रहे हैं, आपको प्रत्येक ईवेंट के बाद डिस्कनेक्ट करने के बजाय लगातार कनेक्ट होना होगा।

के साथ के बारे में अपने प्रश्न का संबंध है

"धक्का या खींच" यह कैसे आप पहली समस्या का समाधान पर निर्भर करता है। यदि आप लगातार एक समाधान बना सकते हैं जो परिणाम लगातार जुड़ा हुआ है, तो परिणाम एक धक्का होगा (वाहक आपको संदेश प्राप्त करने के तुरंत बाद इसे धक्का देगा)। अगर (किसी कारण से) आप निरंतर कनेक्शन बनाए नहीं रख सकते हैं, तो आप एक पुल तंत्र का निर्माण समाप्त कर देंगे। यह देखने के लिए कि क्या उनके पास एक संदेश है या नहीं, आप कभी भी एक्स सेकंड से वाहक से जुड़ जाएंगे।

मैं हालांकि 2 नुकसान को उजागर करने की आवश्यकता है:

  1. दुनिया में वाहक के एक नंबर की दुकान नहीं है या यहां तक ​​कि,, संदेशों को स्वीकार करता है, तो आप कनेक्ट नहीं हैं इसलिए आप किस वाहक के साथ बातचीत के आधार पर आप एक निरंतर कनेक्शन का उपयोग करने के लिए मजबूर किया जा सकता है।
  2. अधिकतर वाहक आपको त्वरित उत्तराधिकार में कनेक्शन खोलने और बंद करने की अनुमति नहीं देते हैं। एक बार डिस्कनेक्ट हो जाने पर, आप X सेकंड के समय सीमा के लिए पुनः कनेक्ट नहीं कर सकते हैं।

इसलिए एक निरंतर कनेक्शन वास्तव में जाने का रास्ता है। वैकल्पिक रूप से, आप नेक्समो जैसी कंपनी में देख सकते हैं, जो हर बार एक संदेश आने पर आपको HTTP कॉल प्रदान करेगा।

मुझे यकीन नहीं है कि आप किस भाषा में अपना आवेदन विकसित कर रहे हैं, लेकिन यदि आप किसी भी लोकप्रिय भाषा (जावा, पीएचपी, पर्ल) का उपयोग करते हैं तो वहां मॉड्यूल हैं जो आपके लिए मूल एसएमपीपी कनेक्टिविटी को संभालते हैं। आपकी भाषा और "एसएमपीपी क्लाइंट" के लिए एक त्वरित Google खोज आपको संदर्भों की एक सूची देगी।

7

एसएमपीपी एक पीयर-टू-पीयर प्रोटोकॉल है। इसका मतलब यह होना चाहिए कि एसएमएस गेटवे (आपकी तरफ) और एसएमएससी (आपके मोबाइल ऑपरेटर) को उचित बाइंड/कनेक्शन स्थापित करने की आवश्यकता है। यहां तक ​​कि जब कोई एसएमएस या डीएलआर भेजने/प्राप्त करने के लिए नहीं होते हैं, तब भी SMTP PDU (enquire_link/inquire-link_resp) का निरंतर विनिमय होता है जो सुनिश्चित करता है कि बाइंड स्थापित है। विस्तार से, यदि आप एक enquire_link पीडीयू भेजते हैं और आपको कोई प्रतिक्रिया नहीं मिलती है (enquire_link_resp) बाइंड टूटा हुआ है। आपके एसएमएस वितरित नहीं किए जाएंगे (आपके गेटवे स्टोर में संलग्न रहेंगे), और आपको एमओ (इनकमिंग एसएमएस) या डीएलआर (डिलीवरी रिपोर्ट) नहीं मिलेगी। कनेक्शन को दोबारा स्थापित करने के लिए आपको कनेक्शन को दोबारा शुरू करना चाहिए।

तो, मेरा जवाब यह होगा कि आपको एसएमएससी के निरंतर कनेक्शन की आवश्यकता होगी।

0

शायद यह आपको मोबाइल ऑपरेटर को सीधे कनेक्ट करने के बजाय एक एसएमएस एग्रीगेटर का उपयोग करने का बेहतर समाधान होगा। फिर आप HTTP एपीआई के माध्यम से आसानी से कनेक्ट कर सकते हैं (एसएमएस भेजने के लिए एक यूआरएल कॉल करें, एसएमएस और डिलीवरी रिपोर्ट प्राप्त करने के लिए अपने सर्वर पर यूआरएल कॉलबैक प्राप्त करें)।

कुछ बदलावों के साथ (उदा।लगातार कनेक्शन आदि) आप smpp के रूप में लगभग एक ही प्रदर्शन प्राप्त कर सकते हैं।

यह एक एग्रीगेटर जो अपने ऑपरेटर का समर्थन करता है खोजने के लिए एक अच्छी शुरुआत है: http://www.onehop.co/

कैसे एस्मे SMSC, और बाँध और अनबाइंड आपरेशन के साथ काम करता पर