2008-09-18 13 views
6

क्या कोई मुझे क्लाइंट से सर्वर से कनेक्शन खोलने, बाइनरी फ़ाइल में पढ़ने और नेटवर्क कनेक्शन पर भरोसेमंद सामग्री भेजने के सर्वोत्तम तरीके पर ट्यूटोरियल में इंगित कर सकता है? इससे भी बेहतर, क्या कोई ओपन सोर्स लाइब्रेरी है जो पहले से ही ऐसा करती है जिसे मैं संदर्भित कर सकता हूं?सी # का उपयोग कर नेटवर्क पर फाइल भेजने का सबसे अच्छा तरीका क्या है?

उत्तर

3

आपको बाइनरी क्रमबद्धता और टीसीपी सॉकेट पर भेजना चाहिए। सी # में टीसीपी क्लाइंट/सर्वर पर

http://www.dotnetspider.com/resources/408-XML-serialization-Binary-serialization.aspx

अच्छा प्राइमर:

क्रमबद्धता के विभिन्न प्रकार पर अच्छा स्पष्टीकरण

http://www.codeproject.com/KB/IP/tcpclientserver.aspx

+0

दूसरा लिंक 2001 से है, जो तब भी पुराना था जब यह सवाल ताजा था। यह एक ट्यूटोरियल का अधिक नहीं है और एक कोड नमूना है। – YetAnotherRandomUser

2

आप एक टीसीपी क्लाइंट और सर्वर बना सकते हैं और टीसीपी पर संदेश भेज सकते हैं। सी # में यह बहुत छोटा है।
HTTP या FTP के उपयोग के बारे http://www.goldb.org/goldblog/2007/07/27/CSimpleTCPServer.aspx

0

कैसे:

यहाँ

एक साधारण TCP सर्वर का उदाहरण है? वे इसके लिए बने थे।

एलेक्स

0

जहां आप फ़ाइल को भेज रहे हैं, तो आप WebClient.UploadFileAsync और WebClient.UploadFile पर एक नज़र लेने के लिए चाहते हो सकता है पर निर्भर करता।

0

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

2

यह निर्भर करता है कि नेटवर्क से आपका क्या मतलब है - यदि आप स्थानीय नेटवर्क पर प्रतिलिपि बना रहे हैं तो आप सिस्टम.आईओ के अंदर फ़ाइल कॉपी ऑपरेशंस का उपयोग कर सकते हैं। यदि आप दूरस्थ सर्वर पर भेजना चाहते हैं तो मैं इसे वेब सेवाओं का उपयोग करके करता हूं। मैं बाइट सरणी को संपीड़ित करता हूं और उन्हें दूरस्थ तरफ भेजता हूं और डिकंप्रेस करता हूं। बाइट सरणी धाराओं का उपयोग कर डिस्क पर वापस लिखना बहुत आसान है।

मुझे पता है कि कुछ लोग बाइट [] के बजाय बेस 64 स्ट्रिंग पसंद करते हैं। यकीन नहीं है कि यह मायने रखता है।

0

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

यदि आपको वेब पर फ़ाइलों को स्थानांतरित करने की आवश्यकता है (प्रोग्रामेटिक रूप से, और यदि आप एफ़टीपी का उपयोग नहीं कर सकते हैं), तो MTOM के माध्यम से एक वेब सेवा दृष्टिकोण आपकी आवश्यकताओं के अनुरूप हो सकता है।

यदि आप Windows Server 2003 R2, Windows Vista, या Windows Server 2008 के शीर्ष पर बना रहे हैं और आंतरिक नेटवर्क स्थानान्तरण कर रहे हैं, तो दूसरा विकल्प नया Remote Differential Compression सुविधा का लाभ उठाना है। यह न केवल नेटवर्क यातायात को कम करने के लिए फ़ाइल को संपीड़ित करने में वास्तव में अच्छा काम करता है, बल्कि डीएफएस प्रतिकृति द्वारा भी इसका उपयोग किया जाता है। डाउनसाइड (एक .NET डेवलपर के रूप में), यह एक COM + तकनीक है।

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

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