イフコンピュータ > MINERVA > マニュアル > レファレンス > 述語 > 配布されたMinervaプロセス間の通信 > server_start/4

server_start/4

MINERVA
ifcomputer logo
f
Expert Services on the Web

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

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.

document: http://www.ifcomputer.co.jp/MINERVA/Manual/Reference/Predicates/sockets/server_start/print_jp.html
published 2012/5/21 update 2002/3/19 (c) 1996-2009 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
戻る> managed with ubiCMS