2012-10-10 11 views
6

SignalR कई संदेशों को खो देता है जब मैं सर्वर से क्लाइंट (या क्लाइंट से सर्वर; या क्लाइंट के लिए सर्वर) से बाइट्स के हिस्सों को स्थानांतरित करता हूं।मैं ग्राहकों को भागों में बाइट्स कैसे स्थानांतरित कर सकता हूं?

मैंने फ़ाइल को एक स्ट्रीम में पढ़ा और इसे अन्य क्लाइंट के लिए एक हब या लगातार कनेक्शन पर भेजा। यह बहुत तेज़ चलता है, लेकिन हमेशा संदेश गिराए जाते हैं या खो जाते हैं।

मैं संदेशों को खोए बिना क्लाइंट से क्लाइंट में बड़ी फ़ाइलों (भाग में या नहीं) कैसे स्थानांतरित कर सकता हूं?

उत्तर

5

जैसा कि @dfowler बताता है, यह नौकरी के लिए सही तकनीक नहीं है। मैं जो करना चाहता हूं वह एक संदेश भेज रहा है कि एक फ़ाइल डाउनलोड करने के लिए है जिसमें लिंक शामिल है और फिर आप उस फ़ाइल को मानक फाइलों या एएसपी.NET वेबएपीआई के साथ लिखी गई कुछ वेब सेवा के खिलाफ मानक जीईटी अनुरोधों का उपयोग करके डाउनलोड कर सकते हैं।

4

सिग्नलर फ़ाइल स्थानांतरण के लिए नहीं है, यह संदेश भेजने के लिए है।

4

यह सही तकनीक क्यों नहीं है? यदि किसी ग्राहक को सिग्नलआर हब में कुछ डेटा भेजने की आवश्यकता होती है तो उसे अतिरिक्त सामान की आवश्यकता के बिना सिग्नलआर कनेक्शन पर सक्षम होना चाहिए।

वास्तव में यह मेरे लिए कम से कम बाइट सरणी भेजते समय ठीक काम करता है, हालांकि मुझे भाग को स्थानांतरित करते समय भी इसी तरह की समस्याएं आईं।

शायद आप यह जांचने के लिए कुछ परीक्षण कर सकते हैं कि आप जिस क्रम में भाग भेजते हैं वह वही है जैसा उन्हें प्राप्त होता है।

अद्यतन

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

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

+0

क्या आपके पास इसके लिए नमूना कोड है? आप भाग कैसे प्राप्त कर रहे हैं? धन्यवाद – user1331889

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

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