NetworkSocket (クラス)
public abstract NetworkSocket {inherits Socket}
パッケージ: CURL.IO.SOCKET
直接継承しているサブクラス: UDPSocket, TCPSocket

UDP および TCP ソケットに共通の機能を保持するための抽象基本クラス。現在はローカル アドレスおよびバインディング情報と、オプション、タイムアウト、および SocketEventTarget の実装支援だけを行います。

プログラミング注意事項

Socket および NetworkSocket 機能だけを必要とし、AcceptorTCPSocketDataTCPSocket、または UDPSocket を受け取ることができるパラメータまたは戻り値に適しています。

コンストラクタ
default:NetworkSocket を初期化します。
コンストラクタ public {NetworkSocket.default
local-address:#SocketInetAddress = null,
local-port:uint16 = NetworkSocket.random-port,
local-name:#String = null,
local-port-name:#String = null,
timeout:Time = Socket.infinite-timeout,
reuse-address?:bool = false
}

プロパティ
_local-port:このソケットのローカル ポートがあれば、それを含みます。
フィールド protected-get package-set NetworkSocket._local-port:uint16
local-address:ソケットのローカル アドレス。
アクセサ public NetworkSocket.local-address:SocketInetAddress
local-port:ソケットのローカル ポート。これはソケットがバインドされているポートです。
アクセサ public NetworkSocket.local-port:uint16
open?:この NetworkSocket が現在開いているかどうかを示します。ソケットとそのストリームがすべて閉じた後は false を返します。ストリームの一部が開いていてもソケットが閉じている場合は false を返すことがあります。
アクセサ public NetworkSocket.open?:bool
reuse-address?:reuse-address の構造を必要とするかどうかを示します。有効な場合、複数のソケットで同じアドレスおよびポートを使用できます。詳細については、AcceptorTCPSocketDataTCPSocket、および UDPSocket のような非抽象サブクラスを参照してください。
フィールド protected NetworkSocket.reuse-address?:bool
timeout:このソケットの処理用に保存された既定の timeout
アクセサ public inline NetworkSocket.timeout:Time
セッター public inline NetworkSocket.timeout:Time

クラス変数と定数
random-port:OS にポートを選択させ、それを local-port の既定値にすることを意味する local-port のポート値。
public constant NetworkSocket.random-port:uint16 =0

メソッド
close:ソケットを閉じます。
public inline {NetworkSocket.close}:void
load-local-address-port:_local-addressNetworkSocket._local-port を初期化します。
protected {NetworkSocket.load-local-address-port}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {NetworkSocket.default
local-address:#SocketInetAddress = null,
local-port:uint16 = NetworkSocket.random-port,
local-name:#String = null,
local-port-name:#String = null,
timeout:Time = Socket.infinite-timeout,
reuse-address?:bool = false
}

NetworkSocket を初期化します。

local-address: バインド先のローカル アドレスを示す SocketInetAddress のキーワード。接続が確立されるときにそれ自体で適切にバインドするので、通常は必要ありません。
local-port: バインド先のローカル ポートを示す uint16 のキーワード。接続が確立されるときにそれ自体で空いているポートにバインドするので、通常は必要ありません。
local-name: バインド先のローカル アドレスを探すときに使用するホスト名を示す String のキーワード。接続が確立されるときにそれ自体を適切にバインドするので、通常は必要ありません。
local-port-name: バインド先のローカル ポートを検索するときに使用するポート名を示す String のキーワード。接続が確立されるときにそれ自体で空きポートをバインドするので、通常は必要ありません。
timeout: タイムアウトを設定するためのキーワード。
reuse-address?: TIME_WAIT 状態にあるローカル アドレスとポート名の組み合わせの再使用を許可するかどうかを示す bool のキーワード (一部のシステムでは、他のあまり推奨できない場合での再使用も許可されている可能性があります)。既定値は false です。local-namelocal-addresslocal-port、または local-port-name が指定されている場合にのみ適用されます。



プロパティ詳細
_local-port (フィールド)
protected-get package-set NetworkSocket._local-port:uint16

このソケットのローカル ポートがあれば、それを含みます。

注意事項

通常、NetworkSocket.local-port を使用してローカル ポートを検索します。

オーバーライド

このフィールドは、ローカル アドレスが判明したたときにサブクラスによって埋められる必要があります。ただし、_local-portNetworkSocket.random-port である場合は、NetworkSocket.load-local-address-port でフィールドを埋めるためのコードがすでに NetworkSocket.local-port にあります。


local-address (アクセサ)
アクセサ public NetworkSocket.local-address:SocketInetAddress

ソケットのローカル アドレス。

注意事項

特権アプレットだけがローカル ホストの名前またはアドレスを取得できます。


local-port (アクセサ)
アクセサ public NetworkSocket.local-port:uint16

ソケットのローカル ポート。これはソケットがバインドされているポートです。



open? (アクセサ)
アクセサ public NetworkSocket.open?:bool

この NetworkSocket が現在開いているかどうかを示します。ソケットとそのストリームがすべて閉じた後は false を返します。ストリームの一部が開いていてもソケットが閉じている場合は false を返すことがあります。



reuse-address? (フィールド)
protected NetworkSocket.reuse-address?:bool

reuse-address の構造を必要とするかどうかを示します。有効な場合、複数のソケットで同じアドレスおよびポートを使用できます。詳細については、AcceptorTCPSocketDataTCPSocket、および UDPSocket のような非抽象サブクラスを参照してください。



timeout (アクセサ)
アクセサ public inline NetworkSocket.timeout:Time
セッター public inline NetworkSocket.timeout:Time

このソケットの処理用に保存された既定の timeout




クラス変数と定数の詳細
random-port (クラス定数)
public constant NetworkSocket.random-port:uint16 =0

OS にポートを選択させ、それを local-port の既定値にすることを意味する local-port のポート値。





メソッド詳細
close (メソッド)
public inline {NetworkSocket.close}:void

ソケットを閉じます。

プログラミング注意事項

呼び出し側では、この呼び出しの後で Socket を何かに使用することはできません。SocketEventHandler を持つ場合、これらは close によって削除または無効にされます。Socket の状態は、close の呼び出し後にクリアされます。


load-local-address-port (メソッド)
protected {NetworkSocket.load-local-address-port}:void

_local-addressNetworkSocket._local-port を初期化します。