मैं PHP का उपयोग कर एक टीसीपी सर्वर बनाने पर हाल ही में काम कर रहा हूं (मुझे शुरू करने के लिए गलत विकल्प पता है लेकिन यह काम मानक है), इसलिए मैं उस बिंदु पर पहुंच गया हूं जहां पर परीक्षण करने के लिए एक विश्वसनीय प्रोटोटाइप है और यह दिखाया गया है अच्छा परिणाम। शुरुआत में मैंने सर्वर के लिए कनेक्शन को संभालने के लिए सॉकेट फ़ंक्शंस का उपयोग किया था और यह अच्छा काम कर रहा था लेकिन प्रोजेक्ट पर मुख्य चीजों में से एक चैनल को सुरक्षित करना है ताकि मैं stream_socket पर स्विच कर सकूं।जब भी पीएचपी में पीयर द्वारा कनेक्शन रीसेट किया जाता है, तो कैसे पता चलेगा?
जो मैं चाहता हूं वह socket_last_error stream_socket समूह में समतुल्य है, इसलिए जब भी क्लाइंट के साथ कनेक्शन बंद हो या नहीं, तो मुझे पता चलेगा। मौजूदा स्थिति सभी प्रक्रियाएं टाइमआउट टाइमर को रिलीज करने की प्रतीक्षा करेंगी, भले ही ग्राहक पहले ही बंद हो।
मैंने नेट की खोज की है और मुझे पता चला है कि PHP के माध्यम से इसे समझने का कोई तरीका नहीं है और मैंने पाया है कि कुछ लोगों ने इसके बारे में मुद्दा टिकट खोला है ताकि socket_last_error स्ट्रीम के बराबर हो। https://bugs.php.net/bug.php?id=34380
तो क्या यह जानने के लिए वैसे भी है कि जब भी FIN_WAIT संकेत उठाया जाता है या नहीं?
धन्यवाद,
उत्तर के लिए जेनस धन्यवाद। जैसा कि आप जानते हैं कि स्ट्रीम को शोर करने के लिए कुछ डेटा भेजकर संभव नहीं है जब भी यह टूट जाता है या वर्तमान स्थिति भी नहीं है कि सर्वर क्लाइंट एक्शन के लिए इंतजार कर रहा है, इसलिए आपने जो सुझाव दिया है, मुझे नहीं लगता कि यह संभव है? – user1304594