| サーバに、ソケット接続に聞き耳をたてさせ始めます
server_start(+Port, +Backlog, +Callback, -Server)
server_start/4は、入って来る接続要求のためにポートPortの上で聞いているサーバ・ソケットを開けます。 Backlogは、入って来る接続要求の最大のキュー(待ち行列)の長さをセットします。 キューがいっぱいの際に、接続要請が来るならば、接続は拒否されます。
接続要請が到着するとき、サーバはユーザ定義のコールバック述語Callbackを呼びます。そして、それは新しい接続を取り扱わなければなりません。
コールバック述語の最初の引数が変数の場合、この引数は、新しい接続のためにつくられたソケット引数と取り替えられます。
引き数
Port 整数
Backlog 整数
Callback 複合項あるいはアトム
Server オブジェクト
例題
main(_) :-
server_start(1352, 3, accept_connection(_), _).
accept_connection(Socket) :-
open(Socket, read, Input, [socket,buffered,binary]),
open(Socket, write, Output, [socket,buffered,binary]),
receive(Input, Request),
handle_request(Request, Anwer),
send(Output, Answer),
close(Input),
close(Output),
close(Socket).
handle_request(Request, Answer) :-
...
以下も参照して下さい
server_start/4,
server_stop/1,
client_start/3,
client_stop/1,
listener_start/3,
listener_stop/1,
send/2,
receive/2.
|