मेरे पास वर्तमान में PHP में लिखा गया सर्वर डिमन है जो आने वाले कनेक्शन स्वीकार करता है और stream_socket_*
फ़ंक्शन और stream_select()
का उपयोग करके सक्रिय स्ट्रीम का उपयोग करके उनके लिए नेटवर्क स्ट्रीम बनाता है। मैं एक zlib फ़िल्टर (string_filter_append()
का उपयोग करके) मनमाने ढंग से स्ट्रीम में जोड़ने में सक्षम होना चाहता हूं, लेकिन जब मैं करता हूं, तो मुझे एक त्रुटि मिलती है कि मुझे फ़िल्टर किया गया है कि stream_select()
फ़िल्टर किए गए स्ट्रीम को मतदान करने के लिए उपयोग नहीं किया जा सकता है।मैं zlib फ़िल्टर के साथ PHP के stream_select() का उपयोग कैसे करूं?
मैं इस सीमा के आसपास कैसे हो सकता हूं?
धन्यवाद, यह विधि मुझे सीमा को बाधित करने की अनुमति देती है, हालांकि मैं "zlib.deflate" का उपयोग कर रहा हूं, और मैं स्ट्रीम-टू-स्ट्रीम की प्रतिलिपि नहीं बना रहा हूं, बल्कि सर्वर भेजने के लिए केवल fwrite() का उपयोग कर रहा हूं आउटबाउंड नेटवर्क धाराओं के माध्यम से उत्पन्न डेटा। इस विधि का उपयोग करके, stream_get_contents ($ आउट) 2-बाइट zlib शीर्षलेख देता है और कुछ भी नहीं। अगर मैं फ़ाइल में एक ही डेटा लिखता हूं, $ $ में लिखने और $ पढ़ने के बजाय, संपीड़ित $ डेटा पूरी तरह से लिखा जाता है। क्या इस विधि के बारे में कुछ ऐसा है जो पूर्ण संपीड़ित डेटा को $ आउट से पढ़ने से रोक देगा? – drrcknlsn
कुछ मात्रा में डेटा लिखने के बाद ही फ़िल्टर स्ट्रीम पर लिख सकता है; अधिक डेटा लिखने का प्रयास करें। STREAM_FILTER_READ के साथ पढ़ने वाले पक्ष पर STREAM_FILTER_WRITE VS के साथ लिखने के पक्ष में zlib.deflate फ़िल्टर के साथ भी प्रयास करें। – arnaud576875