Socket[Close] - 開かれた TCP/IP 接続の終了
使い方
Close(sid)
パラメータ
sid - 有効な開かれたソケット ID
|
説明
|
|
|
引数 sid は、閉じるソケットを表す識別子です。この引数は、有効かつ開かれたソケット ID でなくてはなりません。
|
•
|
ソケットの利用が終わり次第、すぐにその開いたソケットを閉じるよう、常に心がけましょう。ほとんどのシステムでは、あるプロセスが同時に持つことのできる開かれたソケットの数には、厳しい制限があります。Sockets パッケージは、自身にそのような制限を課します(ほとんどの場合、基となるオペレーティングシステムによって課せられる制限に一致します)。
|
|
ソケットを閉じる際には、そのソケットが使用するリソースを解放し、制限の最大値を超えないように新しいソケットの作成ができるようにします。(いくつかのシステム上では、ソケットはファイルとして扱われます。そして開かれた各ソケットは、あるプロセスが保持する開かれたファイルの数に影響を及ぼします。このファイルの数も、通常はオペレーティングシステムによって制限されます。)
|
•
|
Close が呼び出されると、そのソケットに対して書かれたバッファにあるデータをフラッシュし、接続をシャットダウンしようと試みます。接続のリモート終点には、ローカルの終点で受け付けられるデータはそれ以上ないという、通知が送られます。接続の終了に成功すると、Close は値 true を返します。エラーが生じる状況では、値 false が返されます。
|
•
|
Sockets パッケージそのものが不要なメモリとして回収の対象になった場合、あるいは Maple の処理が通常の方法で終了される場合には、全ての開かれた接続をがシャットダウンされます。たとえこの動作がいずれ起こると保証されていても、ユーザが制御できない事態に陥ることもあります。そのような場合、ソケットの接続が Close により通常のように終了されると考えてはなりません。
|
|
|
例
|
|
>
|
with( Sockets ):
sid := Open( "localhost", "echo" );
|
| (2.1) |
| (2.2) |
|
|
Download Help Document
Was this information helpful?