|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface ClientObexConnection
OBEX クライアントとして通信を行う場合の接続を定義します。 オペレーションとして PUT と GET をサポートしています。 一回の接続で複数回 sendRequest メソッドを呼び出すことが可能で、 連続して複数のリクエストを送信することができます。
OutputStream または DataOutputStream に出力したデータが
PUT オペレーションの BODY ヘッダの内容としてサーバに送信されます。
GET オペレーションの場合、OutputStream または DataOutputStream に出力したデータは無視されます。
また、GET オペレーションに対するレスポンスの BODY ヘッダの内容は
InputStream または DataInputStream から読み出すことができます。
PUT オペレーションに対するレスポンスの場合、
InputStream または DataInputStream は常に空のストリームとなります。
ObexConnection インタフェースで定義されている getContentLength メソッドは
レスポンスの BODY ヘッダ内のコンテンツの長さを返します。
以下に IrDA 通信において PUT オペレーションを使用する場合のコード例を示します。
また、以下に IrDA 通信において GET オペレーションを使用する場合のコード例を示します。try { IrClientObexConnection coc; coc = (IrClientObexConnection)Connector.open("obex:/irclient"); coc.connect(); // IrDA の場合、この時点でデバイスに通電して // CONNECT オペレーションを発行します。 while (true) { // 複数のオペレーションを行う場合のループ。 // ループの中で PUT と GET を組み合わせて使用してもよい。 coc.setOperation(ObexConnection.PUT); coc.setName("foo"); OutputStream out = coc.openOutputStream(); // 書き込み処理 out.close(); coc.sendRequest(); // IrDA の場合、この時点で PUT オペレーションを // 送信して、レスポンスを受け取ります。 int response = coc.getResponseCode(); } coc.close(); // IrDA の場合、この時点で DISCONNECT オペレーションを // 発行して、デバイスをオフにします。 } catch (IOException e) { }
try { IrClientObexConnection coc; coc = (IrClientObexConnection)Connector.open("obex:/irclient"); coc.connect(); // IrDA の場合、この時点でデバイスに通電して // CONNECT オペレーションを発行します。 while (true) { // 複数のオペレーションを行う場合のループ。 // ループの中で PUT と GET を組み合わせて使用してもよい。 coc.setOperation(ObexConnection.GET); coc.setName("bar"); coc.sendRequest(); // IrDA の場合、この時点で GET オペレーションを // 送信して、レスポンスを受け取ります。 int response = coc.getResponseCode(); InputStream in = coc.openInputStream(); // 読み出し処理 in.close(); } coc.close(); // IrDA の場合、この時点で DISCONNECT オペレーションを // 発行して、デバイスをオフにします。 } catch (IOException e) { }
フィールドの概要 |
---|
メソッドの概要 | |
---|---|
void |
connect()
接続を確立します。 |
int |
getResponseCode()
レスポンスコードを取得します。 |
void |
sendRequest()
リクエストを送信して、レスポンスの受信を完了するまで待ちます。 |
void |
setOperation(int operation)
オペレーションコードを設定します。 |
インタフェース com.docomostar.io.ObexConnection から継承されたメソッド |
---|
getContentLength, getName, getTime, getType, setName, setTime, setType |
インタフェース javax.microedition.io.InputConnection から継承されたメソッド |
---|
openDataInputStream, openInputStream |
インタフェース javax.microedition.io.OutputConnection から継承されたメソッド |
---|
openDataOutputStream, openOutputStream |
インタフェース javax.microedition.io.Connection から継承されたメソッド |
---|
close |
メソッドの詳細 |
---|
void connect() throws java.io.IOException
RuntimeException
-
ConnectionException
- java.io.InterruptedIOException
-
ConnectionException
- ConnectionException
- java.io.IOException
-
java.io.IOException
-
void setOperation(int operation)
operation
- オペレーションコードを指定します。
RuntimeException
-
IllegalArgumentException
-
IllegalArgumentException
-
void sendRequest() throws java.io.IOException
このメソッドを呼び出すことによって、それより前にこの接続オブジェクトから 取り出した InputStream, DataInputStream, OutputStream, DataOutputStream が無効になります。 次に InputStream, DataInputStream を取り出した時は、 このオペレーションで受信したデータを読み出す入力ストリームを返します。 また、次に OutputStream, DataOutputStream を取り出した時は、 次のオペレーションで送信するデータを書き込む出力ストリームを返します。
RuntimeException
-
ConnectionException
- java.io.InterruptedIOException
-
ConnectionException
- ConnectionException
- java.io.IOException
-
java.io.IOException
-
ConnectionException
- int getResponseCode()
レスポンスコードを取得します。 直前に実行した sendRequest メソッドにおいて受信した レスポンスのレスポンスコードを返します。
1つのデータを複数のパケットに分割して受信した場合、 一番最後に受信したパケットのレスポンスコードを返します。
ミニマムスペックでは、 以下のレスポンスコードについて取得できることが保証されています。
ObexConnection.CONTINUE
ObexConnection.SUCCESS
ObexConnection.NON_AUTHORITATIVE_INFORMATION
ObexConnection.UNAUTHORIZED
ObexConnection.FORBIDDEN
ObexConnection.NOT_FOUND
ObexConnection.REQUEST_TIME_OUT
ObexConnection.CONFLICT
ObexConnection.NOT_IMPLEMENTED
ObexConnection.BAD_REQUEST
ObexConnection.DATABASE_FULL
ObexConnection.DATABASE_LOCKED
RuntimeException
-
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。