next up previous contents index
: 日本語文字コード : ポート : 文字列に対する入出力ポート   目次   索引

ネットワーク$\cdot $インタフェース

以下ではTUTSchemeに拡張したネットワーク機能の使用の詳細を述べる.ここ ではネットワークの利用のためのポートをネットワーク$\cdot $ポート,ネッ トワーク$\cdot $ポートのうちプロトコルにTCP/IPを使用するものをTCPポート, UDP/IPを使用するものをUDPポートと呼ぶ.ネットワーク$\cdot $ポートは双方 向であるため, input-port?及び output-port?はネットワーク $\cdot $ポートに対して #tを返す.

(bind-tcp-port 〈ポート番号〉) 【関数】

(bind-udp-port 〈ポート番号〉) 【関数】

ネットワーク$\cdot $ポートを開きそれを返す.〈ポート番号〉としては整数 あるいは文字列が許される.整数の場合はUNIXのポート番号として使用可能な 正整数(1024$\sim$32767)でなければならない.文字列の場合はそれをネット ワーク$\cdot $サービス名としてディレクトリ /etc/servicesから対応す るポート番号を検索する.TCP/IPを利用する場合は接続要求を受理するための ポート(バウンド$\cdot $ポートと呼ぶ)を返す.タイムアウトの場合は #fを返す.

(open-tcp-port 〈ポート番号〉 [〈ホスト〉]) 【関数】

(open-udp-port 〈ポート番号〉 [〈ホスト〉]) 【関数】

通信ポートに接続して新しいポートを返す.〈ポート番号〉は上述の関数と同 様である.接続するホストを指定する場合は2番目の引数としてホスト名を表 す文字列を与える.タイムアウトの場合は #fを返す.

(accept 〈バウンド$\cdot $ポート〉) 【関数】

〈バウンド$\cdot $ポート〉への接続要求を受理し,TCPポートを返す.タイム アウトの場合は #fを返す.

(bound-tcp-port? 〈ポート〉) 【関数】

(bound-udp-port? 〈ポート〉) 【関数】

〈ポート〉がバウンド$\cdot $ポートであれば #t,そうでなければ #fを返す.

(tcp-port? 〈ポート〉) 【関数】

(udp-port? 〈ポート〉) 【関数】

〈ポート〉がTCPポート/ UDPポートであれば #t,そうでなければ #fを返す.

(acceptable? 〈バウンド$\cdot $ポート〉) 【関数】

〈バウンド$\cdot $ポート〉に接続要求が到着していれば #t,そうでな ければ #fを返す.

(select 〈タイム〉 〈ポート〉$\cdots$) 【関数】

〈タイム〉が正整数であればタイムアウトまでの時間を秒単位で指定する.そ れ以外であればタイムアウト処理は行なわない.〈ポート〉はネットワーク $\cdot $ポートであり,これらのうち読みだし可能なポートのみをリストで返 す.タイムアウトの場合は #fを返す.

(port-number 〈ポート〉) 【関数】

(host-name 〈ポート〉) 【関数】

ネットワーク$\cdot $ポートのポート番号/ホスト名を返す.

(peer 〈ポート〉) 【関数】

〈ポート〉はTCPポートでなければならない.〈ポート〉が接続しているホス ト名とポート番号をリストで返す.

(close-bound-tcp-port 〈ポート〉) 【関数】

(close-bound-udp-port 〈ポート〉) 【関数】

バウンド$\cdot $ポートを閉じて #tを返す.〈ポート〉は既に閉じられ ていてもエラーにならない.この場合は #fを返す.

(close-tcp-port 〈ポート〉) 【関数】

(close-udp-port 〈ポート〉) 【関数】

ネットワーク$\cdot $ポートを閉じて #tを返す.〈ポート〉は既に閉じ られていてもエラーにならない.この場合は #fを返す.

(host-up? 〈ホスト〉) 【関数】

〈ホスト〉はホスト名を表す文字列でなければならない.現在そのホストが稼 働(up)していれば #t,そうでなければ #fを返す.

(uptime [〈ホスト〉$\cdots$]) 【関数】

〈ホスト〉はホスト名を表す文字列でなければならない.与えられたホスト名 と過去5,10,15分間の負荷の平均のリストを要素とするリストを返す.〈ホ スト〉を省略した場合は可能な限り多くのホストの情報を返す.

(read-fixnum [〈ポート〉]) 【関数】

ネットワーク$\cdot $ポートから直接数値を読み出す(32bitの整数表現).〈ポー ト〉は省略可能であるが,この場合は既定の入力ポート(関数 current-input-portの返り値)はネットワーク$\cdot $ポートでなければなら ない.読み出した数値を整数型に変換して返す.

(write-fixnum 〈数値〉 [〈ポート〉]) 【関数】

ネットワーク$\cdot $ポートに〈数値〉を直接書き込む(32bitの整数表現). 〈ポート〉は省略可能であるが,この場合は既定の出力ポート(関数 current-output-portの返り値)はネットワーク$\cdot $ポートでなければなら ない.〈数値〉を返す.

(get-host-list) 【関数】

ディレクトリ /etc/hostsに登録されているすべてのホスト名を要素とす るリストを返す.

(service->port-number 〈サービス〉) 【関数】

文字列〈サービス〉をサービス名とするネットワーク$\cdot $サービスの使用 するポート番号を返す.ディレクトリ /etc/servicesが調べられる.

(char-ready? [〈ポート〉]) 【関数】

〈ポート〉からなにか文字が読み出せる状態であれば #t,そうでなけ れば #fを返す.〈ポート〉を省略した場合は現在の入力ポート(関数 current-input-portの返り値)を調べる.

*hostname* 【変数】

そのプロセスのホスト名(文字列)を保持する.

*connection-timeout* 【変数】

関数 bind-tcp-port bind-udp-port open-tcp-port open-udp-portによって参照される変数.正整数ならばタイムアウトまでの 時間を秒単位で設定する.それ以外の値ではタイムアウト処理は機能しない.

*tcp-timeout* 【変数】

TCPポートからの読み出しに対するタイムアウトを設定するための変数.

*udp-timeout* 【変数】

UDPポートからの読み出しに対するタイムアウトを設定するための変数.

*accept-timeout* 【変数】

関数 acceptから参照される変数.接続要求待ちのタイムアウトを設定す る.


next up previous contents index
: 日本語文字コード : ポート : 文字列に対する入出力ポート   目次   索引
Tsuneyasu KOMIYA 平成14年2月22日