2012-08-22 14 views
26

मैं नेट 4.5 ClientWebSocket वर्ग विंडोज 7 पर समर्थित नहीं है पता है, लेकिन एक WebSocket सर्वर नेट 4.5 एपीआई का उपयोग कर विंडोज 7 पर चलने बनाने के लिए यह संभव है?नेट 4.5 वेबसेट सर्वर विंडोज 7 पर चल रहा है?

अपने आप को स्पष्ट बनाने के लिए, here और here दोनों के अनुसार, यह भी विंडोज 7 पर समर्थन किया जाना चाहिए नेट 4.5 WebSocket क्रियान्वयन के सर्वर साइड भाग की तरह लग रहा है, फिर भी चल रहा है एक HttpListener और एक खुले का उपयोग कर इसे उपयोग करने की कोशिश कर रहा -सोर्स वेबसॉकेट कार्यान्वयन ने मुझे "पोर्टोकोल समर्थित नहीं किया" त्रुटि

+0

जबकि यह एक _interesting_ सवाल है, यह बहुत प्रयास नहीं दिखाती है। आपने क्या प्रयास किया है एमएसडीएन के अनुसार वास्तव में केवल विंडोज 8 और सर्वर 2012 समर्थित हैं। क्या आपको .NET अंतर्निहित समर्थन की आवश्यकता है? अन्यथा आपकी आवश्यकताओं के अनुरूप विभिन्न तृतीय-पक्ष पुस्तकालय हैं। – CodeCaster

उत्तर

34

ओएस-स्तरीय HTTP.SYS समर्थन वेबसाइकिलों के लिए Win8/Windows Server 2012 तक सीमित है - जो मैं सहमत हूं मूर्खतापूर्ण है (यह विंडोज़- अद्यतन, या अधिकांश में एक सर्विस पैक, आईएमओ)।

इसका मतलब यह है कि आप HttpListener या ASP.NET सीधे से WebSockets के लिए रूपरेखा समर्थन उपयोग नहीं कर सकते।

लेकिन: "क्या वेबस्केट सर्वर बनाना संभव है" - निश्चित रूप से ... लेकिन केवल तभी जब आप टीसीपी/आईपी कॉम स्वयं को संभालते हैं, या इसके लिए किसी तृतीय-पक्ष लाइब्रेरी का उपयोग करते हैं। यह एक थोड़ा कष्टप्रद है, लेकिन के रूप में बुरा के रूप में यह ध्वनि हो सकता है नहीं है।

संपादित करें: कुछ जांच के बाद, मैं पुष्टि कर सकता हूं कि इस के लिए सर्वर-साइड घटक विंडोज 7 (आदि) पर काम नहीं करते हैं; IsWebSocketRequestfalseदेता है भले ही यह Connection: Upgrade और Upgrade: websocket (आदि) शीर्षलेख (क्रोम सत्र से, जैसा कि यह मदद करता है) के साथ एक वेब-सॉकेट अनुरोध है।

मैं कर रहा हूँ, फिर भी, बहुत हैरान कि क्लाइंट-साइड टुकड़े काम नहीं करते, क्योंकि लगता है: कि सरल है और नहीं है (या कम से कम, नहीं करने की आवश्यकता नहीं है) HTTP.SYS शामिल है। उन्हें उपयोग करने का प्रयास PlatformNotSupportedException फेंकता है।

+0

अपने दोनों सवालों के जवाब देने के लिए, जबकि क्लाइंटवेब सॉकेट * केवल विंडोज 8 से समर्थित है, सर्वर-साइड क्लासेस कम से कम एमएसडीएन (http://msdn.microsoft.com/en-us/library/hh159274 के अनुसार हैं) .aspx) - * * – sternr

+1

@sternr मुझे नहीं लगता कि वे कर रहे हैं का समर्थन कर रहे; मुझे लगता है कि यह रनटाइम पर त्रुटि होगी। और भी दिलचस्प क्या है: मैं इस धारणा के तहत था कि 'क्लाइंटवेबसेट' ** ** Win7 आदि पर समर्थित था, क्योंकि यह HTTP.SYS पर निर्भर नहीं है! –

+1

@sternr ने उस पर कुछ और शोध/परीक्षण किया; जवाब खड़ा है। एक सरल उपयोगकर्ता - - –

6

मार्क कहते हैं, माइक्रोसॉफ्ट एपीआई विंडोज 7 पर काम नहीं करते लेकिन वहाँ है कि विंडोज 7 पर WebSockets का समर्थन कई खुले स्रोत संग्रहालय कुछ मामलों मोनो के माध्यम से भी पार मंच में हैं, और।

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