|
Go to the first, previous, next, last section, table of contents.
- generate_port([use_unix])
-
:: port の生成
- try_bind_listen(port)
-
:: port に対して bind, listen
- try_connect(host,port)
-
:: port に対して connect
- try_accept(socket,port)
-
:: connect 要求を accept
- register_server(control_socket,control_port,server_socket,server_port)
-
:: connection の成立した control socket, server socket の登録
- return
-
generate_port() のみ整数または文字列. その他は整数.
- use_unix
-
0 または 1
- host
-
文字列
- port,control_port,server_port
-
整数または文字列
- socket,control_socket,server_socket
-
整数
-
これらの関数は, 遠隔プロセスと通信を成立させるためのプリミティブである.
-
generate_port() は通信のための port を生成する. 無引数あるいは
引数が 0 の場合, Internet domain の socket のための port 番号, それ
以外の場合には, UNIX domain (host-internal protocol) のための, ファイル名
を生成する. port 番号は random に生成されるが, その port が使用中でない
保証はない.
-
try_bind_listen() は, 与えられた port に対し, その protocol に
対応した socket を生成し, bind, listen する. 成功した場合,
socket 識別子を返す. 失敗した場合, -1 が返る.
-
try_connect() は, ホスト host の port port に対し
connect を試みる. 成功した場合, socket 識別子を返す. 失敗した場合 -1 が返る.
-
try_accept() は, socket に対する connect 要求を accept
し, 新たに生成された socket を返す. 失敗した場合 -1 が返る.
いずれの場合にも, socket は自動的に close される.
引数 port は, socket の protocol を判別するために与える.
-
register_server() は, control, server それぞれの socket を
一組にして, server list に登録し, ox_push_cmo() などで用いる
プロセス識別子を返す.
-
遠隔プロセスの起動は,
shell() または手動で行う.
[340] CPort=generate_port();
39896
[341] SPort=generate_port();
37222
[342] CSocket=try_bind_listen(CPort);
3
[343] SSocket=try_bind_listen(SPort);
5
/*
ここで, ox_launch を起動 :
% ox_launch "127.1" 0 39716 37043 ox_asir "shio:0"
*/
[344] CSocket=try_accept(CSocket,CPort);
6
[345] SSocket=try_accept(SSocket,SPort);
3
[346] register_server(CSocket,CPort,SSocket,SPort);
0
- 参照
-
section
ox_launch , ox_launch_nox , ox_shutdown ,
section ox_launch_generic , section shell , section ox_push_cmo , ox_push_local
Go to the first, previous, next, last section, table of contents.
|