मैं एक प्रोग्राम का उपयोग कर रहा हूं जो मेरे COMM पोर्ट से बात करता है, लेकिन मैंने एक और प्रोग्राम बनाया है जिसे मैं कम पोर्ट संदेशों को "स्नीफ" करना चाहता हूं और इसके अलावा उन संदेशों के खिलाफ अपने स्वयं के कार्यों को निष्पादित करना चाहता हूं। क्या यह .NET सी # में संभव है?सी # में मैं एक COM (सीरियल) पोर्ट को कैसे सुन सकता हूं जो पहले से ही खुला है?
उत्तर
तीसरे पक्ष के पुस्तकालय/उपकरण/उत्पाद हैं जो आपकी रुचि रखने वाले ट्रैफ़िक को उजागर करते हैं।
यहाँ एक मैं सीरियल पोर्ट अनुकरण के लिए इस्तेमाल किया है - लेकिन मैं इसे कुछ आप उपयोग कर सकते हैं प्रदान करता है लगता है: http://com0com.sourceforge.net/
यह सीरियल पोर्ट से यातायात सूंघ के लिए संभव है
लेकिन वहाँ does not एक "COMPortSniffer" नियंत्रण
sysinternals द्वारा इस्तेमाल किया एक वैध तकनीक प्रस्तुत किया है there
यह भरोसा करने लगता होने लगते हैं हालांकि, Win32 प्रोग्रामिंग पर, मुझे नहीं लगता कि इस तरह की चीज सीधे सी #
आप पहली बार प्रोग्राम है जो आप बंदरगाह कॉम से बातचीत पर नियंत्रण है, तो क्यों कार्यक्रम में परिवर्तन नहीं पोर्ट से प्राप्त डेटा को रिमोटिंग या किसी अन्य प्रकार के आईपीसी के माध्यम से आपके दूसरे कार्यक्रम में पास करने के लिए। बेहतर है कि अगर आप एक प्रॉक्सी प्रोग्राम लिख सकते हैं जो COMM पोर्ट से जुड़ा हुआ है, और संचार के लिए इस प्रॉक्सी से 2 अन्य प्रोग्राम बात करते हैं।
एक और विचार है, अगर आप केवल आने वाले डेटा सूंघ करने की आवश्यकता है कि आप एक वाई केबल (विभाजक) हो जाते हैं और 2 कॉम पोर्ट से कनेक्ट कर सकते हैं,, प्रत्येक कार्यक्रम प्रत्येक कॉम बंदरगाह को जोड़ता है। लेकिन आपको यह सुनिश्चित करने की ज़रूरत है कि दूसरा प्रोग्राम संचारित करने की कोशिश नहीं कर रहा है। कुछ मामलों में आपको एक स्प्लिटर की आवश्यकता हो सकती है जो केवल दूसरे आउटपुट के लिए आरएक्स पिन को जोड़ती है। यदि आपको आरेख की आवश्यकता है तो मुझे बताएं।
यदि आपके पास 2 COMM नहीं है, तो आप आसानी से USD10 से कम के लिए यूएसबी-सीरियल कनवर्टर प्राप्त कर सकते हैं।
कोड प्रोजेक्ट (http://www.codeproject.com/Articles/75770/Basic-serial-port-listening-application) जिसमें इस पर एक अच्छा ट्यूटोरियल है।
यह दिखाता है कि सीरियल पोर्ट से आने वाले डेटा को कैसे पढ़ा जाए, और इससे आप डेटा को पढ़ने में सक्षम होना चाहिए।
एक छोटी टुकड़ा:
void _serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int dataLength = _serialPort.BytesToRead;
byte[] data = new byte[dataLength];
int nbrDataRead = _serialPort.Read(data, 0, dataLength);
if (nbrDataRead == 0)
return;
// Send data to whom ever interested
if (NewSerialDataRecieved != null)
NewSerialDataRecieved(this, new SerialDataEventArgs(data));
}
- 1. सी # जांचें कि क्या एक COM (सीरियल) पोर्ट पहले से ही खुला है
- 2. सी को सीरियल पोर्ट
- 3. यूएसबी से सीरियल पोर्ट
- 4. मैं एक कस्टम पोर्ट यूएसबी डिवाइस को COM पोर्ट के रूप में कैसे दिखा सकता हूं?
- 5. सीरियल पोर्ट (सी/सी ++)
- 6. जांचें कि क्या सीरियल पोर्ट सुन रहा है
- 7. सीरियल पोर्ट को ठीक से
- 8. सीरियल पोर्ट से पढ़ना
- 9. साफ़ सीरियल पोर्ट सी #
- 10. एक फ़ाइल खोलने में अपवाद जो पहले से ही खुला है
- 11. सीरियल पोर्ट
- 12. सीरियल पोर्ट
- 13. सीरियल पोर्ट
- 14. सीरियल पोर्ट
- 15. इस कमांड से पहले से ही एक खुला डेटा रीडर है जो पहले
- 16. मैं लिनक्स में एक सीरियल पोर्ट पर डेटा की निगरानी कैसे कर सकता हूं?
- 17. मैक पर आरएक्सटीएक्स - सीरियल पोर्ट पहले से ही उपयोग में है
- 18. सी # इकाई फ्रेमवर्क: इस कनेक्शन से जुड़े पहले से ही एक खुला डेटा रीडर है जो पहले
- 19. सीरियल पोर्ट
- 20. मैं कैसे जांचूं कि एक टीसीपी पोर्ट पहले ही सुना जा रहा है या नहीं?
- 21. सी # एक पोर्ट पर एकाधिक उपकरणों के साथ सीरियल संचार
- 22. पार धागा आपरेशन मान्य नहीं है, जबकि एक COM पोर्ट को सुन
- 23. सीरियल पोर्ट संचार: सीरियल पोर्ट डेटा का उपयोग कर बनाम सीरियल पोर्ट बनाम
- 24. वेबपृष्ठ में सीरियल पोर्ट से कैसे पढ़ा जाए
- 25. मैं एक सीरियल पोर्ट के साथ कैसे कॉन्फ़िगर और संवाद कर सकता हूं?
- 26. Arduino COM पोर्ट
- 27. मैं एक क्षणिक ऑब्जेक्ट को कैसे सहेज सकता हूं जो पहले से ही NHibernate सत्र में मौजूद है?
- 28. मैं एक .limit() को कैसे हटा सकता हूं जो पहले से ही एक क्वेरी ऑब्जेक्ट पर लागू होता है
- 29. मैं एक COM पोर्ट का अनुकरण कैसे कर सकता हूं, डेटा लिख सकता हूं और उससे डेटा पढ़ सकता हूं?
- 30. मल्टीथ्रेडिंग और सीरियल पोर्ट
इस मामले में आप प्राथमिक उपभोक्ता स्रोत कोड के बारे में नियंत्रण पढ़ने डेटा प्रकाशित करने के लिए होना चाहिए। यह एक स्थापित सीरियल संचार स्नीफ नहीं कर रहा है। – sahl04