2013-02-16 46 views
11

मैं सीरियल डिवाइस से इनपुट कैप्चर करने के लिए PHP में dio_read का उपयोग कर रहा हूं (विशेष रूप से यूएसबी आईआर खिलौना v2 खतरनाक प्रोटोटाइप से)।PHP: dio_read() पर टाइमआउट कैप्चर कैसे करें?

कभी-कभी डिवाइस से इनपुट धीमा (10+ सेकंड) होता है। मैं dio_read टाइमआउट करना चाहता हूं, लेकिन यह सुनिश्चित नहीं करता कि कैसे।

अगर कोई व्यक्ति इस पोस्ट को पढ़ता है तो जानता है कि, क्या आप मुझे सही दिशा में इंगित करने में मदद कर सकते हैं? धन्यवाद।

+0

कोई विचार O_ASYNCO_NONBLOCK या करने के लिए फ़ाइल वर्णनकर्ता झंडे सेट करने के लिए कर सकते हैं अगर यह धारावाहिक उपकरणों पर filehandles के साथ काम करता है, लेकिन http://php.net/manual/ कोशिश en/function.stream-set-timeout.php –

+0

हां। :-) यहां कम से कम एक व्यक्ति है जो जानता है कि कैसे। अगर मैं इसे उत्तर के रूप में पोस्ट करता हूं, तो क्या आप इसे सही मानेंगे? यदि नहीं, तो क्या मैं इसे बदल सकता हूं, यहां कोई भी नहीं जान पाएगा? क्या आप इसके बजाय स्वीकार करेंगे? यह एक विशिष्ट सवाल नहीं है; कृपया इसे बनाने के लिए संपादित करें। धन्यवाद। :-) –

+0

आप अपने प्रश्नों का उत्तर दे सकते हैं। मैं इसे पोस्ट करने वाला नहीं हूं, क्योंकि मैं सिर्फ अंधेरे में जंगली स्टैब ले रहा था। –

उत्तर

1

विंडोज़ पर dio_read (अज्ञात अन्य प्लेटफॉर्म) पढ़ने के लिए कोई डेटा नहीं होने पर टाइमआउट नहीं होगा। टाइमआउट निर्दिष्ट करने या विंडोज पर गैर-अवरुद्ध पढ़ने का कोई तरीका नहीं है। http://php.net/dio_read

1

आप dio_fctnl() का उपयोग

+0

लेकिन यह केवल लिनक्स पर काम करता है ओएस विंडोज़ ओएस के बारे में क्या? –