|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface ServerSocketConnection
このインタフェースは、サーバーソケットストリーム接続を定義します。
サーバーソケットのアクセスには、ホストを含まない汎用接続文字列が使用されます。たとえば socket://:79
は、ポート 79
上の着信サーバーソケットを表します。ホストの検出には、getLocalAddress
メソッドを使用します。
acceptAndOpen()
メソッドは SocketConnection
インスタンスを返します。SocketConnection
は、StreamConnection
の通常の動作に加えて、ライブ接続の IP 端点アドレスにアクセスできます。また、接続の特定のアプリケーションの使用に関連したバッファリングおよびタイミング遅延を制御するソケットオプションも利用できます。
サーバーソケット接続へのアクセスは、デバイスのセキュリティーポリシーによって制限されることがあります。Connector.open
は初期サーバーソケット接続のアクセスのチェックを実行し、acceptAndOpen
は新しい SocketConnection
が返される前のチェックを実行する必要があります。
サーバーソケットでは、接続 URL 文字列のホストパラメータとポートパラメータを省略して、使用可能なポートを動的に選択できます。たとえば、socket://
により、システムによって割り当てられたポート上の着信サーバーソケットを定義します。割り当て済みのポート番号を検出するには、getLocalPort
メソッドを使用します。
URI は、次に示す BNF 構文に準拠する必要があります。URI がこの構文に準拠していない場合、IllegalArgumentException
がスローされます。
<socket_connection_string> | ::= "socket://" | "socket://"<hostport> |
<hostport> | ::= host ":"port |
<host> | ::= 着信接続では省略 (SocketConnection を参照) |
<port> | ::= ポート番号の数値 (システム割り当てポートでは省略) |
次に、ServerSocketConnection
を使用してサンプルループバックプログラムにアクセスする例を示します。
// ポート 1234 のサーバー待機ソケットを作成 ServerSocketConnection scn = (ServerSocketConnection) Connector.open("socket://:1234"); // 接続を待機 SocketConnection sc = (SocketConnection) scn.acceptAndOpen(); // ソケットにアプリケーション固有のヒントを設定 sc.setSocketOption(DELAY, 0); sc.setSocketOption(LINGER, 0); sc.setSocketOption(KEEPALIVE, 0); sc.setSocketOption(RCVBUF, 128); sc.setSocketOption(SNDBUF, 128); // 接続の入力ストリームを取得 DataInputStream is = sc.openDataInputStream(); // 接続の出力ストリームを取得 DataOutputStream os = sc.openDataOutputStream(); // 入力データの読み取り String result = is.readUTF(); // データを送信元にエコーバック os.writeUTF(result); // すべて終了 is.close(); os.close(); sc.close(); scn.close(); ..
メソッドの概要 | |
---|---|
String |
getLocalAddress()
ソケットのバインド先のローカルアドレスを取得します。 |
int |
getLocalPort()
このソケットのバインド先のローカルポートを返します。 |
インタフェース javax.microedition.io.StreamConnectionNotifier から継承されたメソッド |
---|
acceptAndOpen |
インタフェース javax.microedition.io.Connection から継承されたメソッド |
---|
close |
メソッドの詳細 |
---|
String getLocalAddress() throws IOException
これは、外部システムからこのソケット接続の端点に接続するためのホストアドレス (IP 番号) です。IP アドレスは動的に割り当て可能なので、IP 番号の再割り当てを考慮して、堅牢なリモートアプリケーションを使用する必要があります。
ローカルホスト名 (使用可能な場合) には、System.getProperty("microedition.hostname")
からアクセスできます。
IOException
- 接続が終了した場合SocketConnection
int getLocalPort() throws IOException
IOException
- 接続が終了した場合SocketConnection
|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。