:- package(socket). main([Name,Port,Command]) :- atom_number(Port, Portno), socket__create(Name,Portno,Socket), open(Socket,write,Out,[socket,text]), open(Socket,read,In,[socket]), write(Out, Command), nl(Out), flush_output(Out), get_result(Command, In), close(In), close(Out). get_result(stop, _) :- !. get_result(_, In) :- repeat, get_char(In, C), ( C = end_of_file ; put_char(C), fail ), !.