我正在制作基本的端口扫描程序。 我试图打印"关闭"当我连接到一个关闭 港口和"开放"当我连接到开放端口时。
现在我正在这样做:
(condition-case (tcp-connect (list-ref host 0) port)
[(exn) (print "closed")]
['nil (print "open")]))
我打开时没有正确打印(已经使用netcat测试过)。 我如何理解条件 - 案例是否匹配错误。我试图处理没有错误的情况,即连接成功。
有更好的方法吗?我觉得我在思考它。
答案 0 :(得分:2)
不熟悉鸡我会期望这样的东西是你想要的:
(condition-case
(begin (tcp-connect (list-ref host 0) port)
(print "open"))
[(exn) (print "closed")])
也就是说,给condition-case
的表达式是"快乐路径" (就像Java中的try块一样。)