next up previous
Next: 7.1 A first approach Up: BinProlog 5.75 User Previous: 6.2 Client/server programming: Linda

7 Running remote code

On an Intranet of trusted users and computers, or in different windows of your unconnected PC or workstation you might want to experiment with a server allowing arbitrary Prolog command execution. You can start a local remote predicate call server by typing in a first window:

?-run_unrestricted_server.

BinProlog's convention is that if the name returned by default_host/1 is different from localhost it assumes you want to get connected and interoperate through customized servers with other computers using BinProlog.

To override this default setting you can use either set_host('my.full.internet.address') or temporarily override your default host by assuming it as a host/1 fact with BinProlog's intuitionistic assumption. Such assumptions are scoped and forgotten on backtracking,

With

?-server_host('my.full.internet.address')=>run_server.

By default such servers are registered on a master server at BinProlog's home, see default_master_server/1 for its host/port information.

You can try out your server in a client window with

?-remote_run((write(hello),nl)).

Note that registered servers are in principle accessible to other users and therefore not fully secure, unless you use one of the following two methods to implement security.





next up previous
Next: 7.1 A first approach Up: BinProlog 5.75 User Previous: 6.2 Client/server programming: Linda



Paul Tarau
Thu Apr 3 10:26:39 AST 1997