2012-03-25 14 views
5

मैं fsockopen() उपयोग कर रहा हूँ रिमोट होस्ट को टीसीपी के माध्यम से डेटा भेजने के लिए पर गर्भपात:कनेक्शन का पता लगाने() एक सॉकेट fsockopen द्वारा खोला

$s = fsockopen($host, $port); 
fwrite($s, $data); 
fclose($s); 

मैं कैसे बाद में पता लगा सकता है अगर कनेक्शन बंद कर दिया गया था (एक फिन के साथ) या रिमोट होस्ट द्वारा निरस्त (आरएसटी के साथ)?

+1

परेशान, आप (AFAIK) नहीं कर सकते हैं। आप यह पता लगा सकते हैं कि सॉकेट बंद कर दिया गया है या * आपके कॉल 'fclose() 'से पहले' fofose()' से पहले छोड़ा गया है, लेकिन आप यह निर्धारित नहीं कर सकते कि यह कौन सा है। हालांकि मुझे आश्चर्य है कि यह जानकारी कितनी उपयोगी होगी, सभी मृत सॉकेट एक मृत सॉकेट है, इससे कोई फर्क नहीं पड़ता कि इससे क्या हुआ। – DaveRandom

उत्तर

1

प्रलेखन के अनुसार socket_last_error() और socket_send() आप के लिए सहायक हो सकता है:

 
socket_send() returns the number of bytes sent, or FALSE on error. 
socket_last_error() returns the last error on the socket 

मुझे विश्वास है, कि PHP पता लगाने के लिए अगर कनेक्शन बंद कर दिया गया था में सक्षम है, फिर भी नहीं इस बारे में निश्चित।

संबंधित मुद्दे