मेरे पास एक वितरित एप्लिकेशन है जो इन-हाउस गिगाबिट नेटवर्क पर .NET Remoting का उपयोग करता है। एक सर्वर है, और एक दर्जन से अधिक क्लाइंट जो सर्वर से कनेक्ट होते हैं। ग्राहक एकाधिक धागे चलाते हैं, और प्रत्येक ग्राहक से 10 समवर्ती अनुरोध हो सकते हैं।.NET Remoting में "टीसीपी चैनल प्रोटोकॉल उल्लंघन प्रक्षेपण की अपेक्षा" का क्या कारण बनता है?
यह एप्लिकेशन ज्यादातर समय बहुत अच्छी तरह से काम करता है। सर्वर एक समय में महीनों तक रहता है। समय-समय पर मुझे क्लाइंट पर अपवाद मिलता है, और मैं यह नहीं समझ सकता कि अपवाद का कारण क्या है। अपवाद और स्टैक ट्रेस हैं:
System.Runtime.Remoting.RemotingException: Tcp channel protocol violation: expecting preamble.
Server stack trace:
at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble()
at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation)
at System.Runtime.Remoting.Channels.Tcp.TcpClientSocketHandler.ReadHeaders()
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
यह स्टैक ट्रेस है जहां मैं रिमोटिंग कॉल करता हूं।
मैंने देखा है कि मैं जो कॉल कर रहा हूं, या सर्वर पर लौटने वाले डेटा में सामान्य से कुछ भी नहीं ढूंढ सकता है।
Google इस त्रुटि की खोज बहुत उपयोगी नहीं है। मैंने देखा है कि अधिकांश त्रुटियों को HTTP से टीसीपी में कनवर्ट करने और सबकुछ बदलने के आसपास घूमता नहीं है, इसलिए जब वे कनेक्ट करने का प्रयास करते हैं तो उन्हें अपवाद मिलता है। मेरे मामले में, ग्राहक इस त्रुटि को प्राप्त करने से पहले दिन के लिए चलाएगा।
एक अन्य डेटा बिंदु: सर्वर को बहुत से अनुरोध मिलते हैं। अधिकांश ग्राहक वेब क्रॉलर हैं जो हर मिनट सर्वर से 2,000 से अधिक अनुरोध करते हैं। तो सर्वर उच्च यातायात के विस्फोट के साथ प्रति सेकंड 500 अनुरोधों के ऊपर प्रसंस्करण कर रहा है। किसी भी मामले में, सर्वर यातायात को ठीक से प्रतीत होता है, और सर्वर ओवरलोड होने पर मुझे एक बहुत अलग त्रुटि की उम्मीद होगी।
कोई भी विचार जो इस त्रुटि का कारण बन रहा है?
स्वीकार्य नुकसान? ; पी – leppie