| バイナリ入力ストリームからの入力に聞き耳をたてさせ始めるスレッドを開始させます
listener_start(+Stream, +Callback, -Listener)
listener_start/3は、バイナリ入力ストリームStreamからの入力に聞き耳をたてさせ始めるスレッドを開始させます. 入力は、述語send/2により送り出されなければなりません。 入力項が読取られたとき、コールバック述語Callbackが呼ばれます。 Callbackの最初の引数が変数であるならば、それは読取られた項と取り替えられます。 Callbackの第二の引数が変数であるならば、それはリスナー・オブジェクトと取り替えられます。
引き数
Stream バイナリ入力ストリーム
Callback 複合項あるいはアトム
Listener オブジェクト
例題
main(_) :-
server_start(1352, 3, accept_connection(_), _).
accept_connection(Socket) :-
open(Socket, read, Input, [socket,buffered,binary]),
open(Socket, write, Output, [socket,buffered,binary]),
listener_start(Input, handle_request(_, _, Input, Output), _).
handle_request(logoff, Listener, Input, Output) :- !,
close(Input),
close(Output),
listener_stop(Listener).
handle_request(Request, Listener, Input, Output) :-
...
以下も参照して下さい
server_start/4,
server_stop/1,
client_start/3,
client_stop/1,
listener_start/3,
listener_stop/1,
send/2,
receive/2.
|