|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.net.Socket
このクラスは、クライアントソケット (単に「ソケット」とも呼ぶ) を実装します。ソケットとは 2 つのマシン間の通信の両端に位置するものです。
ソケットの実際の処理は SocketImpl
クラスのインスタンスが行います。アプリケーションは、ソケットを作成するソケットファクトリを変更することによって、ローカルのファイアウォールに適したソケットを作成するように、アプリケーション自身を構成できます。
setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketChannel
コンストラクタの概要 | |
|
Socket()
システムでデフォルトになっているタイプの SocketImpl を使用して、接続されていないソケットを作成します。 |
|
Socket(InetAddress address,
int port)
ストリームソケットを作成し、指定された IP アドレスの指定されたポート番号に接続します。 |
|
Socket(InetAddress host,
int port,
boolean stream)
推奨されていません。 UDP 転送ではなく DatagramSocket を使ってください。 |
|
Socket(InetAddress address,
int port,
InetAddress localAddr,
int localPort)
ソケットを作成し、指定されたリモートポート上の指定されたリモートアドレスに接続します。 |
protected |
Socket(SocketImpl impl)
ユーザが指定した SocketImpl を使用して、接続されていないソケットを作成します。 |
|
Socket(String host,
int port)
ストリームソケットを作成し、指定されたホスト上の指定されたポート番号に接続します。 |
|
Socket(String host,
int port,
boolean stream)
推奨されていません。 UDP 転送ではなく DatagramSocket を使ってください。 |
|
Socket(String host,
int port,
InetAddress localAddr,
int localPort)
ソケットを作成し、指定されたリモートポート上の指定されたリモートホストに接続します。 |
メソッドの概要 | |
void |
bind(SocketAddress bindpoint)
ソケットをローカルアドレスにバインドします。 |
void |
close()
このソケットを閉じます。 |
void |
connect(SocketAddress endpoint)
このソケットをサーバに接続します。 |
void |
connect(SocketAddress endpoint,
int timeout)
指定されたタイムアウト値を使用してこのソケットをサーバに接続します。 |
SocketChannel |
getChannel()
このソケットに関連する固有の SocketChannel オブジェクトを返します (存在する場合)。
|
InetAddress |
getInetAddress()
ソケットの接続先のアドレスを返します。 |
InputStream |
getInputStream()
このソケットの入力ストリームを返します。 |
boolean |
getKeepAlive()
SO_KEEPALIVE が有効かどうかを調べます。 |
InetAddress |
getLocalAddress()
ソケットのバインド先のローカルアドレスを取得します。 |
int |
getLocalPort()
このソケットのバインド先のローカルポートを返します。 |
SocketAddress |
getLocalSocketAddress()
このソケットがバインドされている端点のアドレスを返します。 |
boolean |
getOOBInline()
OOBINLINE が有効かどうかを調べます。 |
OutputStream |
getOutputStream()
このソケットの出力ストリームを返します。 |
int |
getPort()
このソケットの接続先のリモートポートを返します。 |
int |
getReceiveBufferSize()
この Socket で使われる SO_RCVBUF オプションの値を取得します。 |
SocketAddress |
getRemoteSocketAddress()
このソケットが接続されている端点のアドレスを返します。 |
boolean |
getReuseAddress()
SO_REUSEADDR が有効かどうかを調べます。 |
int |
getSendBufferSize()
この Socket で使われる SO_SNDBUF オプションの値を取得します。 |
int |
getSoLinger()
SO_LINGER の設定を返します。 |
int |
getSoTimeout()
SO_TIMEOUT の設定を返します。 |
boolean |
getTcpNoDelay()
TCP_NODELAY が有効かどうかを調べます。 |
int |
getTrafficClass()
このソケットから送信されるパケットの IP ヘッダのトラフィッククラスまたはサービスタイプを取得します。 |
boolean |
isBound()
ソケットのバインディング状態を返します。 |
boolean |
isClosed()
ソケットの閉じた状態を返します。 |
boolean |
isConnected()
ソケットの接続状態を返します。 |
boolean |
isInputShutdown()
ソケット接続の読み込み側の半分が閉じているかどうかを返します。 |
boolean |
isOutputShutdown()
ソケット接続の書き込み側の半分が閉じているかどうかを返します。 |
void |
sendUrgentData(int data)
ソケット上の 1 バイトの緊急データを送信します。 |
void |
setKeepAlive(boolean on)
SO_KEEPALIVE を有効または無効にします。 |
void |
setOOBInline(boolean on)
OOBINLINE (TCP 緊急データの受信) を有効または無効にします。 |
void |
setReceiveBufferSize(int size)
SO_RCVBUF オプションを、この Socket に指定された値に設定します。 |
void |
setReuseAddress(boolean on)
SO_REUSEADDR ソケットオプションを有効または無効にします。 |
void |
setSendBufferSize(int size)
SO_SNDBUF オプションを、この Socket に指定された値に設定します。 |
static void |
setSocketImplFactory(SocketImplFactory fac)
アプリケーションのクライアントソケット実装ファクトリを設定します。 |
void |
setSoLinger(boolean on,
int linger)
指定された遅延時間 (秒単位) で、SO_LINGER を有効または無効にします。 |
void |
setSoTimeout(int timeout)
指定されたタイムアウト (ミリ秒単位) を使用して、SO_TIMEOUT を有効または無効にします。 |
void |
setTcpNoDelay(boolean on)
TCP_NODELAY を有効または無効にします (Nagle のアルゴリズムの有効、無効の切り替え)。 |
void |
setTrafficClass(int tc)
この Socket から送信されるパケットの IP ヘッダのトラフィッククラスまたはサービスタイプ octet を設定します。 |
void |
shutdownInput()
このソケットの入力ストリームを「ストリームの最後」に配置します。 |
void |
shutdownOutput()
このソケットの出力ストリームを無効にします。 |
String |
toString()
このソケットを String に変換します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public Socket()
protected Socket(SocketImpl impl) throws SocketException
impl
- サブクラスが Socket 上で使用する SocketImpl のインスタンス
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合public Socket(String host, int port) throws UnknownHostException, IOException
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host
- ホスト名port
- ポート番号
UnknownHostException
- ホストの IP アドレスを判定できなかった場合
IOException
- ソケットの生成中に入出力エラーが発生した場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress address, int port) throws IOException
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
address
- IP アドレスport
- ポート番号
IOException
- ソケットの生成中に入出力エラーが発生した場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
host
- リモートホスト名port
- リモートポートlocalAddr
- ソケットのバインド先のローカルアドレスlocalPort
- ソケットのバインド先のローカルポート
IOException
- ソケットの生成中に入出力エラーが発生した場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
address
- リモートアドレスport
- リモートポートlocalAddr
- ソケットのバインド先のローカルアドレスlocalPort
- ソケットのバインド先のローカルポート
IOException
- ソケットの生成中に入出力エラーが発生した場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合SecurityManager.checkConnect(java.lang.String, int)
public Socket(String host, int port, boolean stream) throws IOException
stream 引数に true
を指定すると、ストリームソケットが作成されます。stream 引数に false
を指定すると、データグラムソケットが作成されます。
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
が、引数としてホストアドレスと port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
UDP ソケットを使用する場合、TCP/IP に関連するソケットオプションは適用されません。
host
- ホスト名port
- ポート番号stream
- ストリームソケットかデータグラムソケットかを表わす boolean
値
IOException
- ソケットの生成中に入出力エラーが発生した場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
public Socket(InetAddress host, int port, boolean stream) throws IOException
stream 引数に true
を指定すると、ストリームソケットが作成されます。stream 引数に false
を指定すると、データグラムソケットが作成されます。
アプリケーションでサーバソケットファクトリを指定している場合は、そのファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。そうでない場合は「プレーンな」ソケットが作成されます。
セキュリティマネージャが存在する場合、セキュリティマネージャの checkConnect
メソッドが、引数として host.getHostAddress()
と port
番号を指定して呼び出されます。この結果、SecurityException になることがあります。
UDP ソケットを使用する場合、TCP/IP に関連するソケットオプションは適用されません。
host
- IP アドレスport
- ポート番号stream
- true
を指定した場合はストリームソケットが作成され、そうでない場合はデータグラムソケットが作成される
IOException
- ソケットの生成中に入出力エラーが発生した場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkConnect
メソッドがこの操作を許可しない場合setSocketImplFactory(java.net.SocketImplFactory)
,
SocketImpl
,
SocketImplFactory.createSocketImpl()
,
SecurityManager.checkConnect(java.lang.String, int)
メソッドの詳細 |
public void connect(SocketAddress endpoint) throws IOException
endpoint
- SocketAddress
IOException
- 接続時にエラーが発生した場合
IllegalBlockingModeException
- このソケットに関連するチャネルが存在し、そのチャネルが非ブロッキングモードの場合
IllegalArgumentException
- 端点が null である場合、または端点がこのソケットでサポートされていない SocketAddress サブクラスである場合public void connect(SocketAddress endpoint, int timeout) throws IOException
endpoint
- SocketAddress
timeout
- 使用するタイムアウト値 (ミリ秒)
IOException
- 接続時にエラーが発生した場合
SocketTimeoutException
- 接続する前にタイムアウトが過ぎた場合
IllegalBlockingModeException
- このソケットに関連するチャネルが存在し、そのチャネルが非ブロッキングモードの場合
IllegalArgumentException
- 端点が null である場合、または端点がこのソケットでサポートされていない SocketAddress サブクラスである場合public void bind(SocketAddress bindpoint) throws IOException
アドレスが null
の場合は、システムにより一時的なポートと有効なローカルアドレスが選択されてソケットがバインドされます。
bindpoint
- バインド先の SocketAddress
IOException
- バインド操作に失敗した場合、あるいはソケットがすでにバインドされている場合
IllegalArgumentException
- bindpoint がこのソケットでサポートされていない SocketAddress サブクラスである場合isBound()
public InetAddress getInetAddress()
null
public InetAddress getLocalAddress()
InetAddress.anyLocalAddress()
public int getPort()
public int getLocalPort()
public SocketAddress getRemoteSocketAddress()
null を返します。
- 戻り値:
- このソケットのリモート端点を表す
SocketAddress
。ソケットがまだ接続されていない場合は null
- 導入されたバージョン:
- 1.4
- 関連項目:
getInetAddress()
,
getPort()
,
connect(SocketAddress, int)
,
connect(SocketAddress)
public SocketAddress getLocalSocketAddress()
null を返します。
- 戻り値:
- このソケットのローカル端点を表す
SocketAddress
。ソケットがまだバインドされていない場合は null
- 導入されたバージョン:
- 1.4
- 関連項目:
getLocalAddress()
,
getLocalPort()
,
bind(SocketAddress)
public SocketChannel getChannel()
SocketChannel
オブジェクトを返します (存在する場合)。
チャネル自体が SocketChannel.open
または ServerSocketChannel.accept
メソッドを使用して作成された場合にだけ、ソケットにチャネルが存在します。
public InputStream getInputStream() throws IOException
このソケットに関連するチャネルが存在する場合は、結果の入力ストリームはその操作をすべてチャネルに委譲します。そのチャネルが非ブロックモードの場合、入力ストリームの read 操作で IllegalBlockingModeException
がスローされます。
IOException
- 入力ストリームの作成中に入出力エラーが発生した場合、あるいはソケットが接続されない場合public OutputStream getOutputStream() throws IOException
このソケットに関連するチャネルが存在する場合は、結果の出力ストリームはその操作をすべてチャネルに委譲します。そのチャネルが非ブロックモードの場合、出力ストリームの write 操作で IllegalBlockingModeException
がスローされます。
IOException
- 出力ストリームの作成中に入出力エラーが発生した場合、あるいはソケットが接続されない場合public void setTcpNoDelay(boolean on) throws SocketException
on
- TCP_NODELAY を有効にする場合は true
、無効にする場合は false
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getTcpNoDelay()
public boolean getTcpNoDelay() throws SocketException
boolean
値
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setTcpNoDelay(boolean)
public void setSoLinger(boolean on, int linger) throws SocketException
on
- 遅延時間を有効にするかどうかを指定linger
- on が true の場合は、遅延時間
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合
IllegalArgumentException
- 遅延時間の値が負の数値である場合getSoLinger()
public int getSoLinger() throws SocketException
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setSoLinger(boolean, int)
public void sendUrgentData(int data) throws IOException
data
- 送信するデータのバイト
IOException
- データを送信するときにエラーが発生した場合public void setOOBInline(boolean on) throws SocketException
受信する緊急データの処理には限定したサポートしか提供されないことに注意してください。特に、高位レベルのプロトコルが提供されていない場合、受信する緊急データの通知は提供されず、通常データと緊急データを区別する機能はありません。
on
- OOBINLINE を有効にする場合は true
、無効にする場合は false
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getOOBInline()
public boolean getOOBInline() throws SocketException
boolean
値
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setOOBInline(boolean)
public void setSoTimeout(int timeout) throws SocketException
timeout
- ミリ秒で表される、指定されたタイムアウト
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getSoTimeout()
public int getSoTimeout() throws SocketException
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setSoTimeout(int)
public void setSendBufferSize(int size) throws SocketException
SO_SNDBUF はヒントなので、アプリケーションでバッファのサイズ設定を調べる必要がある場合は、getSendBufferSize()
を呼び出してください。
size
- 送信バッファ用として設定するサイズ。0 より大きい値を指定する必要がある
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合
IllegalArgumentException
- 値が 0 または負の値である場合getSendBufferSize()
public int getSendBufferSize() throws SocketException
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setSendBufferSize(int)
public void setReceiveBufferSize(int size) throws SocketException
受信バッファのサイズを増やすと、大規模な接続でのネットワーク入出力のパフォーマンスを上げることができます。一方、サイズを減らすと、受信データのバックログを減らすことができます。
SO_RCVBUF はヒントなので、アプリケーションでバッファのサイズ設定を調べる必要がある場合は、getReceiveBufferSize()
を呼び出してください。
SO_RCVBUF の値は、リモートピアに通知される TCP 受信ウィンドウの設定にも使用されます。一般に、ウィンドウサイズはソケットの接続時にいつでも変更できます。ただし、64K より大きい受信ウィンドウが必要な場合は、ソケットをリモートピアに接続する前に変更を要求する必要があります。次の 2 つの点に留意してください。
ServerSocket.setReceiveBufferSize(int)
を呼び出してこれを実行する必要があります。
size
- 受信バッファ用として設定するサイズ。0 より大きい値を指定する必要がある
IllegalArgumentException
- 値が 0 または負の値である場合
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getReceiveBufferSize()
,
ServerSocket.setReceiveBufferSize(int)
public int getReceiveBufferSize() throws SocketException
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setReceiveBufferSize(int)
public void setKeepAlive(boolean on) throws SocketException
on
- ソケットをオンのままにしておくかどうかを指定
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合getKeepAlive()
public boolean getKeepAlive() throws SocketException
boolean
値
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setKeepAlive(boolean)
public void setTrafficClass(int tc) throws SocketException
tc の範囲は 0 <= tc <= 255
でなければなりません。そうでない場合は、IllegalArgumentException がスローされます。
注:
IP (Internet Protocol) バージョン 4 の場合、RFC 1349 で説明されているように、この値は優先度の高い octet と TOS フィールドで構成されます。TOS フィールドは、次のようにビット単位の論理和によって作成されるビットセットです。
IPTOS_LOWCOST (0x02)
IPTOS_RELIABILITY (0x04)
IPTOS_THROUGHPUT (0x08)
IPTOS_LOWDELAY (0x10)
優先フィールドにビットを設定すると、操作が許可されないことを示す SocketException になることがあります。
IP (Internet Protocol) バージョン 6 の場合、tc
は IP ヘッダの sin6_flowinfo フィールドに格納される値です。
tc
- ビットセットの int
値
SocketException
- トラフィッククラスまたはサービスタイプを設定するときにエラーが発生した場合getTrafficClass()
public int getTrafficClass() throws SocketException
使用するネットワーク実装が、#setTrafficClass()
を使用して設定されたトラフィッククラスまたはサービスタイプを無視することがあるので、この Socket で #setTrafficClass()
メソッドを使用して以前に設定された値とは異なる値がこのメソッドから返されることがあります。
SocketException
- トラフィッククラスまたはサービスタイプ値を取得するときにエラーが発生した場合setTrafficClass(int)
public void setReuseAddress(boolean on) throws SocketException
TCP 接続を閉じると、接続が閉じたあと、接続が一定の時間タイムアウト状態のままになることがあります (通常、TIME_WAIT 状態または 2MSL 待機状態と呼ばれる)。周知のソケットアドレスまたはポートを使用するアプリケーションの場合、ソケットアドレスまたはポートに関連する接続がタイムアウト状態にあると、ソケットを必要な SocketAddress にバインドできないことがあります。
bind(SocketAddress)
を使用してソケットをバインドする前に SO_REUSEADDR を有効にすると、以前の接続がタイムアウト状態でもソケットをバインドすることができます。
Socket が作成されると、SO_REUSEADDR の初期設定は無効になります。
ソケットがバインドされた (isBound()
を参照) あとで SO_REUSEADDR を有効または無効にする場合の動作は定義されていません。
on
- ソケットオプションを有効にするか無効にするかを指定
SocketException
- SO_RESUEADDR ソケットオプションを有効または無効にするときにエラーが発生する場合、あるいはソケットが閉じている場合getReuseAddress()
,
bind(SocketAddress)
,
isClosed()
,
isBound()
public boolean getReuseAddress() throws SocketException
boolean
値
SocketException
- 基本となるプロトコルで TCP エラーなどのエラーが発生した場合setReuseAddress(boolean)
public void close() throws IOException
現在このソケットの入出力操作でブロックされているすべてのスレッドが SocketException
をスローします。
ソケットが閉じられると、その後のネットワークにそのソケットを使用することはできません (つまり、再接続または再バインドはできない)。新しいソケットを作成する必要があります。
このソケットに関連するチャネルが存在する場合は、そのチャネルも閉じられます。
IOException
- このソケットを閉じるときに入出力エラーが発生した場合isClosed()
public void shutdownInput() throws IOException
ソケットで shutdownInput() を呼び出したあとにソケットの入力ストリームから読み込むと、ストリームは EOF を返します。
IOException
- このソケットを停止するときに入出力エラーが発生した場合shutdownOutput()
,
close()
,
setSoLinger(boolean, int)
,
isInputShutdown()
public void shutdownOutput() throws IOException
IOException
- このソケットを停止するときに入出力エラーが発生した場合shutdownInput()
,
close()
,
setSoLinger(boolean, int)
,
isOutputShutdown()
public String toString()
String
に変換します。
Object
内の toString
public boolean isConnected()
public boolean isBound()
bind(java.net.SocketAddress)
public boolean isClosed()
close()
public boolean isInputShutdown()
shutdownInput()
public boolean isOutputShutdown()
shutdownOutput()
public static void setSocketImplFactory(SocketImplFactory fac) throws IOException
アプリケーションで新しいクライアントソケットを作成すると、ソケット実装ファクトリの createSocketImpl
メソッドが呼び出され、実際のソケットが作成されます。
セキュリティマネージャが存在する場合、このメソッドは最初にセキュリティマネージャの checkSetFactory
メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
fac
- 目的のファクトリ
IOException
- ソケットファクトリの設定中に入出力エラーが発生した場合
SocketException
- ファクトリがすでに定義されている場合
SecurityException
- セキュリティマネージャが存在し、セキュリティマネージャの checkSetFactory
メソッドがこの操作を許可しない場合SocketImplFactory.createSocketImpl()
,
SecurityManager.checkSetFactory()
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.