sitelogo
server_start/4

サーバに、ソケット接続に聞き耳をたてさせ始めます

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.


戻る 続く..
冒頭へ managed with ubiCMS