6

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

मैंने पार्स, अमेज़ॅन एसएनएस और Google क्लाउड मैसेजिंग पर कुछ पोस्ट देखी हैं, लेकिन उनमें से कोई भी उनके लिए गति और सामान्य सामान्य अनुप्रयोगों या सरल टीसीपी स्ट्रीम या websockets की तुलना में उल्लेख नहीं करता है?

मैं अधिकतम के साथ करने के लिए घटनाओं/दूसरे द्वि-directona ग्राहक प्रति एल प्रवाह क्षमता (घटना प्रति ¬1kb) 150ms विलंबता की आवश्यकता है।

बनाम WebSockets बनाम एसएनएस/पार्स/GCM घटनाओं की सिर्फ एक टीसीपी धारा का उपयोग करने का नुकसान क्या हैं?

+0

आप संदेश-आधारित सेवा जैसे rabbitmq पर भी विचार कर सकते हैं। –

+0

@RobertRowntree मैं सोच रहा था कि किसी को उन उपकरणों के साथ अनुभव हुआ था और वे पेशेवर/विपक्ष प्रदान कर सकते थे। –

+0

क्या आपके पास पसंदीदा भाषा है जैसे जावा, PHP, जेएस, नेट ...? – Chriss

उत्तर

6

पुश सूचनाएं (GCM और APN के)

पेशेवरों: आप डिवाइस भले ही क्लाइंट अनुप्रयोग नहीं चल रहा है पहुँच सकते हैं।

कान्स: कम थ्रूपुट; उच्च विलंबता

कच्चे टीसीपी

पेशेवरों: उच्च throughput; कम विलंबता; बिडरेक्शनल

कान: सामान्य प्रॉक्सी और फ़ायरवॉल से गुजरता नहीं है; क्लाइंट ऐप

WebSockets चल किए जाने की आवश्यकता

पेशेवरों: उच्च throughput; कम विलंबता; द्विदिश; फायरवॉल के माध्यम से गुजरता है

कान्स: सभी प्रॉक्सी पहले से ही उनका समर्थन नहीं करते हैं; जरूरत क्लाइंट ऐप

चल रहा हो परिवर्धन में, वहाँ भी HTTP स्ट्रीमिंग और HTTP लांग मतदान हैं।

3

आप सिग्नलआर का प्रयास कर सकते हैं।

ASP.NET SignalR कि यह अविश्वसनीय रूप से अपने आवेदन पत्र

अपने साथी से एक के लिए वास्तविक समय वेब कार्यक्षमता जोड़ने के लिए सरल बना देता है वेब, खिड़की, एंड्रॉयड के लिए इस पुस्तकालय का इस्तेमाल किया है ASP.NET डेवलपर्स के लिए एक नए पुस्तकालय है , रीयल-टाइम मैसेजिंग के लिए मैक इत्यादि।

2
यहाँ

आप कुछ मानक पा सकते हैं: http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

इस अधिक तकनीकी सवाल आप को या दूसरों को भी मदद मिल सकती है:

यह TCP सॉकेट जब के माध्यम से संवाद करने के लिए आसान है: स्वीकार किए जाते हैं जवाब से What is the fundamental difference between WebSockets and pure TCP?

उद्धरण आप इंट्रानेट सीमा के भीतर काम कर रहे हैं, क्योंकि आपके पास उस नेटवर्क पर मशीनों पर नियंत्रण हो सकता है और टीसीपी कनेक्शन बनाने के लिए उपयुक्त पोर्ट खोल सकते हैं।

इंटरनेट पर, आप दूसरे छोर पर किसी और के सर्वर से संचार कर रहे हैं। कनेक्शन के लिए कोई पुरानी सॉकेट खुली होने की संभावना बहुत कम है। आम तौर पर उनके पास केवल कुछ मानक होंगे जैसे HTTP के लिए पोर्ट 80 या HTTPS के लिए 443। तो, सर्वर के साथ संवाद करने के लिए आप उन बंदरगाहों में से किसी एक का उपयोग करके कनेक्ट करने के लिए बाध्य हैं।

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