我想检查服务器是否正在侦听,为此我使用下面显示的代码。
:- use_module(library(socket)).
goal(IP,Port,Sock):-
tcp_socket(Sock),
tcp_connect(Sock,IP:Port).
main(IP,Port):-
catch(goal(IP,Port,Sock),error(X,Y),writeln('Error')).
我从控制台调用主要部分。我曾尝试使用 catch / 3 来捕获错误但我的代码总是卡住并且我得到操作系统错误'swipl。 exe已停止工作',迫使我关闭prolog控制台。任何帮助表示赞赏。
答案 0 :(得分:1)
我找到了问题的答案。我使用稳定版本7.2.3。使用开发版本7.3.2解决了我的问题。