मैं ईथरनेट आधारित बेडसाइड नर्स कॉल डिवाइस विकसित करने के लिए फ्रीआरटीओएस + एलडब्ल्यूआईपी का उपयोग कर रहा हूं। कुछ उदाहरण और दस्तावेज पढ़ने के बाद, मैं टीसीपी के तहत डेटा भेजने और प्राप्त करने के लिए एलडब्ल्यूआईपी के नेटकॉन एपीआई का उपयोग करना चाहता हूं, क्योंकि मैं बीएसडी स्टाइल एपीआई से परिचित नहीं हूं और कच्ची एपीआई मुश्किल हो सकती है।एलडब्ल्यूआईपी - नेटकॉन एपीआई - प्रक्रिया अवरुद्ध होने पर एक टीसीपी पैकेट भेजें?
मैं जानता हूँ कि netconn_accept()
समारोह प्रक्रिया को अवरुद्ध कर देगा जब तक एक दूरस्थ होस्ट से एक कनेक्शन अनुरोध आ गया, और डेटा के आने का इंतजार करते हुए netconn_recv()
समारोह भी इस प्रक्रिया को अवरुद्ध कर देगा ... इन कार्यों के दोनों होगा ब्लॉक प्रक्रिया, यह डेटा प्राप्त करने वाले सर्वर के लिए अच्छा है, हालांकि, मेरे डिवाइस को क्लाइंट के रूप में कार्य करने की भी आवश्यकता होती है, जिसे रोगी को बटन दबाते समय नर्स सेंटर में 'कॉल' ट्रिगर करने की आवश्यकता होती है। तो यह एक टीसीपी पैकेट भेजने के लिए कैसे शुरू कर सकता है, जबकि यह रिमोट होस्ट से कनेक्शन (प्रक्रिया को अवरुद्ध कर रहा है) भी इंतजार कर रहा है?
मुझे टीसीपी भेजने की आवश्यकता है क्योंकि मुझे कॉल शुरू करने के लिए एसआईपी (सत्र आरंभ प्रोटोकॉल) का उपयोग करना होगा, यह विश्वसनीय होना चाहिए क्योंकि यह एक चिकित्सा उपकरण है। आपको बहुत बहुत धन्यवाद
@Kyle Heironimus, @werewindle मैं तुम्हें मेरे सवाल करने के लिए जोड़ क्योंकि मुझे पता है तुम LwIP पर अनुभव, आशा है कि आप असुविधा नहीं होगा और आशा है कि आप मदद कर सकता है, धन्यवाद।
जैसा कि मैं फ्रीआरटीओएस का उपयोग कर रहा हूं, आज मैंने दो धागे का उपयोग करने की कोशिश की, एक कनेक्शन के लिए इंतज़ार कर रहे एक सर्वर के रूप में, एक ग्राहक के रूप में एक आवश्यक होने पर एक टीसीपी कनेक्शन खोलने के लिए। सर्वर थ्रेड अच्छी तरह से कर रहा है, लेकिन क्लाइंट साइड पर, जब मैं 'netconn_connect()' कहता हूं तो यह हमेशा त्रुटि लौटाता है ... मैंने सर्वर और क्लाइंट के लिए एक ही और अलग पोर्ट का उपयोग करने की कोशिश की, लेकिन अभी भी – eepty