मैं एक बुनियादी पोर्ट स्कैनर बना रहा हूं। जब मैं किसी बंद से जुड़ता हूं तो "बंद" करने की कोशिश करता हूं पोर्ट और "ओपन" जब मैं एक ओपन पोर्ट से कनेक्ट करता हूं।
अभी मैं यह कर रहा हूँ:
(condition-case (tcp-connect (list-ref host 0) port)
[(exn) (print "closed")]
["nil (print "open")]))
मेरे खुले isn "टी प्रिंटिंग सही ढंग से जब यह चाहिए(netcat के साथ परीक्षण किया गया है)। मैं कैसे स्थिति-मामला समझता हूं यह त्रुटियों से मेल खाता है। मैं बिना किसी त्रुटि के मामले को संभालने की कोशिश कर रहा हूं यानी कनेक्शन सफल है।
क्या इसके लिए कोई बेहतर तरीका है? मुझे लगता है कि मैं इसे सोच रहा हूँ।
उत्तर:
जवाब के लिए 2 № 1चिकन से परिचित नहीं होने के नाते मैं कुछ इस तरह की उम्मीद करूंगा जैसा आप चाहते हैं:
(condition-case
(begin (tcp-connect (list-ref host 0) port)
(print "open"))
[(exn) (print "closed")])
यानी, जो अभिव्यक्ति दी गई है condition-case
"खुश रास्ता" है (जावा में एक कोशिश ब्लॉक की तरह)।