2009-09-11 5 views
9

क्या वहां कोई मोनो (सी #) संगत नेटवर्किंग/सॉकेट पुस्तकालय हैं?मोनो संगत नेटवर्किंग/सॉकेट लाइब्रेरी

अधिमानतः कुछ है कि है:

  • बहु लड़ी पिरोया
  • घटना प्रेरित
  • कई कनेक्शन
  • मोनो और एमएस नेट runtimes पर हैंडल क्लाइंट और सर्वर टुकड़े
  • रन में सक्षम
  • बहुत सरल
  • निशुल्क (और उपयोग करने योग्य I n वाणिज्यिक सॉफ्टवेयर)

यह भी वास्तव में महान अगर यह था होगा:

  • NET कम्पैक्ट फ्रेमवर्क (विंडोज़ मोबाइल) संगत
  • MonoTouch (iPhone संगत)

संपादित करें:

अधिक स्पष्ट करने के लिए, मेरा मतलब है कि मेरे "एक स्तर पर बोव टीसीपी/आईपी "टिप्पणी यह ​​थी कि मुझे ऐसा कुछ चाहिए जो मूल रूप से स्वयं निहित सर्वर/क्लाइंट है। मैं नहीं है सूत्रण कोड, आदि उदाहरण के लिए लिख प्रत्येक कनेक्शन हैंडलिंग, के साथ सौदा करने के लिए, मैं इस तरह देखने के लिए कोड के लिए प्यार होता हैं:

Server s = new Server(8080); 
s.NewConnection += new ConnectionEventHandler(NewConnection); 
s.DataRecieved += new DataEventHandler(NewData); 
s.Start(); 

void NewConnection(object sender, EventArgs e) 
{ 
    s.Send((Connection)sender, "Hello World!"); //(Connection)sender is the connection instance so the server knows which to send the response to 
} 

void NewData(object sender, EventArgs e) 
{ 
    s.Send((Connection)sender, e.Data); //Echo back 
} 

नहीं साफ कोड है, लेकिन मुझे लगता है कि यह मूल विचार देता है।

+0

क्या आपका मतलब आईपी सॉकेट है? मुझे आश्चर्य होगा कि अगर किसी ने सिस्टम नेट और सिस्टम.Net.Sockets में सब कुछ दिया है तो एक पूर्ण नेटवर्किंग स्टैक लिखने के लिए परेशान था। मुझे लगता है कि एक विशिष्ट वृद्धि जोड़ने के लिए कुछ रैपर पुस्तकालय हो सकते हैं, हालांकि मैं एक उदाहरण के बारे में नहीं सोच सकता। – sipwiz

+1

हां, मेरा मतलब आईपी सॉकेट है। और निश्चित रूप से, मैं मानक सॉकेट कक्षाओं का उपयोग कर सकता हूं, लेकिन हर बार जब मैं ऐसा करता हूं तो यह वही चीज़ है। मुझे सभी मल्टी-थ्रेडिंग/एसिंक सामग्री * फिर से * को संभालना है, मुझे लगता है कि इस बिंदु पर मूल रूप से पहले से ही किया गया था .... मैं कुछ ऐसा ढूंढ रहा हूं जो टीसीपी क्लाइंट और टीसीपी लिस्टर से ऊपर 1 स्तर है। –

उत्तर

4

ऐसा कुछ मौजूद है, चेकआउट networkComms.net। क्या आपको आवश्यक सभी चीजें हैं और मोनो के साथ भी 100% संगत है।

अस्वीकरण: मैं इस वाणिज्यिक पुस्तकालय के लिए डेवलपर्स में से एक हूं।

+0

यह परियोजना पूरी तरह से वाणिज्यिक चला गया। क्या कोई नया विकल्प है? – Sonny

+1

@ सोनी - यदि आप पिछले संस्करण से खुश हैं तो यह अभी भी जीपीएल - http://www.networkcomms.net/download/gpl/ – MarcF

+0

के तहत उपलब्ध है, मैं इसे काम नहीं कर सकता। – Sonny

0

मुझे यह स्पष्ट नहीं है कि आप एक कक्षा से क्या अपेक्षा करते हैं जो "टीसीपी क्लाइंट और टीसीपी लिस्टर से ऊपर एक स्तर" है?

टीसीपी क्लाइंट/टीसीपी लिस्टर मूलभूत बिल्डिंग ब्लॉक हैं जिन्हें आपको विकास के लिए उपयोग करना चाहिए। मुझे यकीन नहीं है कि क्या वे मोनो में भी समर्थित हैं, लेकिन यदि वे हैं, तो यह सब चाहिए जो आपको चाहिए।

.Net CompactFramework इन का भी समर्थन करता है, हालांकि मुझे मोनो टच के बारे में निश्चित नहीं है।

+0

"ऊपर एक स्तर" से मेरा मतलब है कि मैं थ्रेडिंग कोड लिखने, एकाधिक कनेक्शनों को संभालने, आदि से निपटना नहीं चाहता ... ऊपर अद्यतन प्रश्न देखें ... –

1

नहीं, बॉक्स में से कुछ भी नहीं है जो आप चाहते हैं।

टीसीपी क्लाइंट/टीसीपीलिस्टर पहले से ही सॉकेट क्लास के ऊपर एक स्तर है। यदि आप वास्तव में कुछ भी आसान चाहते हैं, तो यह TcpListener() को लपेटना और इसे ईवेंट हैंडलर एंट्री पॉइंट्स को बेनकाब करना बहुत आसान काम है।

+0

अजीब ... यह अजीब लगता है कि यह हैन पहले ही नहीं किया जा चुका है। हर बार जब मैं सॉकेट का उपयोग करता हूं तो मैं मूल रूप से एक ही कोड लिखता हूं ... लगता है कि किसी ने पहले ही इसे किया होगा और इसे एक अच्छी लाइब्रेरी में पैक किया होगा। –

1

आपको RemotingLite देखना चाहिए। मैं इसे अपने मोनो अनुप्रयोगों के साथ उपयोग करता हूं। इसे वितरित कंप्यूटिंग लाइब्रेरी MPAPI के नेटवर्किंग पहलू में सहायता के लिए विकसित किया गया था। एमपीएपीआई का मोनो के साथ 100% संगत होने का लक्ष्य था।