2012-08-03 20 views
5

मेरी वेबसाइट के लिए मैंने सी # (कोड में सबसे पसंदीदा भाषा) में एक वेबस्केट सर्वर लिखा है जो Fleck का उपयोग करता है और यह लगभग 600 लाइन कोड है। सबकुछ ठीक से काम कर रहा है (हालांकि कभी-कभी थोड़ा अस्थिर होता है। सुनिश्चित नहीं है कि यह मेरे कोड या फ्लेक में कोई समस्या है)।वेबसॉकेट सर्वर के लिए आधुनिक समाधान?

हालांकि, मैं इसे अपने कंप्यूटर से वास्तविक डोमेन पर ले जाना चाहता हूं और मुझे यकीन नहीं है कि कोई होस्टिंग प्रदाता हैं जो .NET कंसोल अनुप्रयोगों का समर्थन करेंगे।

मैं सोच रहा था कि शायद मुझे इसे PHP जैसी दूसरी भाषा में फिर से लिखना होगा, लेकिन मैं पूरे विचार के बारे में कुछ अनिश्चित हूं। क्या कोई लोकप्रिय होस्टिंग प्रदाता है जो मैं जो खोज रहा हूं उसका समर्थन करता हूं? और यदि वे हैं, तो क्या यह एक अच्छा विचार है? मुझे लगता है कि यह सर्वर के लिए पर्ल, PHP, या पायथन का उपयोग करने के सामान्य समाधान से कम सुरक्षित या धीमा हो सकता है। (पी के बहुत सारे)

आखिरकार, अगर यह फिर से लिखना अच्छा विचार था, तो मुझे यकीन नहीं है कि मैं किस भाषा में इसे लिखूंगा। यह थोड़ी देर हो गया है और मुझे यकीन नहीं है कि हर कोई अभी भी क्या उपयोग करता है। क्या PHP अभी भी वेब सर्वर के लिए सबसे समर्थित और सुरक्षित माना जाता है?

कौन सा वेबसाकेट कार्यान्वयन सर्वोत्तम अनुकूल है? मुझे फ्लेक खोजने में थोड़ी देर लग गई और वहां कई बार PHP डेरिवेटिव्स लगते हैं और मैं फिर से थोड़ा अभिभूत महसूस कर रहा हूं। साथ ही, वेबसाकेट्स के बारे में स्टैक ओवरफ्लो पर कई पोस्ट दो साल पहले हैं जब वे समर्थित नहीं थे।

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

उत्तर

5

शायद सबसे लोकप्रिय वेबसॉकेट सर्वर Socket.IO है। इसे Node (जावास्क्रिप्ट) में लागू किया गया है और जब वेबसाकेट समर्थन उपलब्ध नहीं है तो लंबे समय तक मतदान/AJAX में गिरावट आई है।

वेबसाकेट्स का सबसे अच्छा समर्थित कार्यान्वयन पायथन pywebsocket प्रोजेक्ट है जिसका उपयोग मोज़िला और Google दोनों द्वारा उनके क्लाइंट ब्राउज़र कार्यान्वयन के विकास और परीक्षण के लिए किया जाता है। इसके अलावा, pywebsocket को अपाचे के साथ आसानी से एकीकृत करने के लिए डिज़ाइन किया गया है ताकि आप उसी वेब पोर्ट पर अपना वेब सर्वर और वेबस्केट सेवा चला सकें।

यदि आपके एप्लिकेशन को केवल वेबसॉकेट आधारित मैसेजिंग सेवा की आवश्यकता है और बड़े पैमाने पर सहकर्मी-सहकर्मी है तो आप Pusher जैसी व्यावसायिक वेबसॉकेट सेवा का उपयोग करने पर विचार कर सकते हैं। इससे आपको इसके लिए अपने सर्वर को होस्ट और प्रबंधित करने से बचाया जा सकता है।

मैं वेबसॉकेट सर्वर के लिए PHP की अनुशंसा नहीं करता। हाल ही में एक PHP कार्यान्वयन नहीं था जो पुराने और नए वेबसाकेट प्रोटोकॉल विविधता दोनों का समर्थन करता था। पुराना अभी भी वर्तमान आईओएस उपकरणों द्वारा उपयोग किया जाता है और प्रोटोकॉल के नए आईईटीएफ 6455 संस्करण क्रोम, फ़ायरफ़ॉक्स, आईई 10 और फ्लैश आधारित वेबसॉकेट पॉलीफिल web-socket-js द्वारा उपयोग किया जाता है।

इसके अलावा, आप पूछते हैं कि PHP को अभी भी वेब सर्वर के लिए सबसे समर्थित और सुरक्षित माना जाता है या नहीं। निश्चित रूप से, PHP में हमेशा महान दस्तावेज और उदाहरण होते हैं और बहुत व्यापक तैनाती होती है ताकि आप तर्क दे सकें कि यह अच्छी तरह से समर्थित है। हालांकि, सुरक्षा के मामले में PHP सूची के नीचे आता है। मैं निश्चित रूप से PHP में स्क्रैच से आपके एप्लिकेशन को फिर से लिख नहीं पाऊंगा।

यदि आप सी भाषा की तरह आंशिक हैं, तो आप libwebsockets पर विचार कर सकते हैं जिसका उपयोग आप सी या सी ++ वेबसॉकेट सर्वर बनाने के लिए कर सकते हैं।एंडी ग्रीन ने libwebsockets विकसित और बनाए रखा और आईईटीएफ कार्यकारी समूह में भाग लिया जिसने मानक विकसित किया।

रुबी एक और भाषा/समुदाय है जिसने वेबसाकेट्स (शायद नोड के पीछे दूसरा) देखा है। रुबी के लिए सबसे लोकप्रिय वेबस्केट लाइब्रेरी em-weboskcet है।

+1

यह मेरी अच्छी तरफ से एक अच्छी सूची है, मैं जोड़ता हूं कि यदि आप पाइथन का उपयोग करना चाहते हैं और प्रदर्शन के लिए थोड़ी-थोड़ी सपोर्टिबिलिटी (या केवल न्यूनतम समाधान पसंद करते हैं) का व्यापार करने के इच्छुक हैं, तो Gevent-websocket http: //www.gelens.org/code/gevent-websocket/ – Dreen

-1

आप node.js को आजमा सकते हैं, यह "नया" है और यह अच्छा दिखता है।

+1

नोड (node.js) (अभी तक) वेबस्केट समर्थन निर्मित नहीं है। शायद आप बहुत लोकप्रिय सॉकेट.आईओ का मतलब है जो नोड में लागू किया गया है। – kanaka

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