2013-02-21 90 views
6

मैं सी # में लिखे गए एक सरल और तेज़ टीसीपी सॉकेट सर्वर की तलाश में हूं। यह async होना चाहिए (WinForms ऐप के साथ चलाएं) और कनेक्टेड क्लाइंट को डेटा प्राप्त करने/भेजने के लिए async का समर्थन करें। मुझे निम्नलिखित पुस्तकालय मिलते हैं जो काम कर सकते हैं, लेकिन मैं विशिष्ट पुस्तकालयों पर सलाह ढूंढ रहा हूं।सरल और तेज़ एसिंक बाइनरी टीसीपी सॉकेट सर्वर?

मैं सी # से एएस 3 फ्रंटएंड तक बाइनरी डेटा (मेरे कस्टम सीरिएलाइज़र का उपयोग करके) भेजने की कोशिश कर रहा हूं। मेरे पास क्लाइंट सॉकेट पहले से ही एएस 3 में लिखा गया है लेकिन मुझे सी # में एक विश्वसनीय सॉकेट सर्वर चाहिए।

  • XYNetSocket - एकल फाइल, अविश्वसनीय और पैकेट याद करते हैं, द्विआधारी
  • NetSockets
  • SocketAsyncEventArgs
  • SuperSocket का समर्थन नहीं करता - बहुत फूला हुआ (100 + कक्षाएं)

कौन सा सॉकेट सर्वर लग रहा है लाइब्रेरी क्या आपने सफलता के साथ उपयोग किया है? क्या यह बाइनरी का समर्थन करता है और क्या यह विश्वसनीय है?

+0

यह जानने के बिना कि आप क्या करना चाहते हैं, इसका उत्तर देना मुश्किल है। असल में, 'सॉकेट' आपके द्वारा जो कुछ भी कहा गया है ... और [async IO API] (http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspx) प्रदान करता है पसंदीदा एक; लेकिन आपने यहां एक तुलनित्र के रूप में कार्य करने के लिए पर्याप्त जानकारी नहीं दी है। हां, 'सॉकेट' बाइनरी का समर्थन करता है (वास्तव में: * केवल * बाइनरी), और हां: 'सॉकेट' विश्वसनीय है ... या कम से कम, नेटवर्क कॉम के रूप में विश्वसनीय है। –

+0

मेरी लाइब्रेरी के बारे में: http://blog.gauffin.org/2012/05/griffin-networking-a-somply-performant-networking-library-for-net/ – jgauffin

उत्तर

6

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

networkComms.net का उपयोग करके, मानते हुए कि आप बाइट [], सरल क्लाइंट सर्वर उदाहरण - here के रूप में अपना बाइनरी डेटा भेज देंगे। डब्ल्यूपीएफ चैट उदाहरण - here। तारों को भेजने और प्राप्त करने के बजाय दोनों उदाहरणों में आप बाइट [] के साथ प्रासंगिक अनुभागों को प्रतिस्थापित करते हैं। उदाहरणों के आधार पर 'प्रासंगिक' स्पष्ट होना चाहिए और टिप्पणियां शामिल की जानी चाहिए।

मुझे यह जोड़ना है कि मैं इस पुस्तकालय के लिए एक डेवलपर हूं।

+0

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

+0

यदि आप न्यूनतम न्यूनतम चाहते हैं तो मैं स्रोत डाउनलोड के बारे में चिंता करने के बजाय कोर डीएलएल का उपयोग करने की सलाह दूंगा। पुस्तकालय के कार्य करने के लिए न्यूनतम आवश्यक है। यदि ऐसी कोई विशेषताएं हैं जो आपको लगता है कि वे गायब हैं तो हम अनुरोध पर कुछ भी जोड़ने के लिए अपना सर्वश्रेष्ठ प्रयास करते हैं। – MarcF

+0

वैसे भी, मैं एक सक्रिय सर्वर उदाहरण कैसे बनाए रखूं, और मांग पर सभी ग्राहकों को डेटा भेजने के लिए मैं किस विधि को कॉल करूं? (async) –