SWI-PrologのPrologサーバのトップ

サーバ(_ポート) :-
tcpソケットの準備(_ソケット,_ポート),
接続されたらソケットを開く(_ソケット, AcceptFd, _),
tcpインタプリタ(AcceptFd).


tcpソケットの準備(_ソケット,_ポート) :-
tcp_socket(_ソケット),
tcp_bind(_ソケット, _ポート),
tcp_listen(_ソケット, 5).

接続されたらソケットを開く(AcceptFd,_ソケット,_Peer,In,Out) :-
tcp_accept(AcceptFd, _ソケット, _Peer),
tcp_open_socket(_ソケット, In, Out).


tcpインタプリタ(AcceptFd) :-
repeat,
行を読みだして実行(AcceptFd),
fail.