generate_port, try_bind_listen, try_connect, try_accept, register_servergenerate_port() のみ整数または文字列. その他は整数.
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
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.