|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object personal.sakaki.io.ObexConnection personal.sakaki.io.ObexServerConnection
public final class ObexServerConnection
OBEXサーバーによる通信処理を行うクラスです。 このクラスは1回の接続で複数のオペレーションを繰り返し受信することが出来ます。 リクエストを受信および分析し、それに対するレスポンスを生成して送信するという処理がセットで1単位となります。
ObexClientConnection
,
ObexManager
フィールドの概要 |
---|
メソッドの概要 | |
---|---|
void |
accept()
クライアントから接続が行われるのを待ち、接続に関するネゴシエーションを行います。 |
void |
authenticate()
設定されている認証情報に基づいてクライアントに認証を求めます。 |
int |
getOperation()
最後に受信したリクエストのオペレーションコードを返します。 |
boolean |
isSetPath_BackupLevel()
SETPATHオペレーションにおいて、実行前上位フォルダへ移動(bit0)フラグが設定されているか否かを返します。 |
boolean |
isSetPath_NoFolderCreate()
SETPATHオペレーションにおいて、非フォルダ作成&エラーレポート(bit1)フラグが設定されているか否かを返します。 |
void |
receiveRequest()
クライアントからリクエストを受信します。 |
void |
receiveRequest(java.io.OutputStream os)
クライアントからリクエストを受信します。 |
void |
sendResponse(int code)
クライアントから受け取ったリクエストに対するレスポンスを送信します。 |
void |
sendResponse(int code,
java.io.InputStream is)
クライアントから受け取ったリクエストに対するレスポンスを送信します。 |
void |
setReadOnly(boolean flag)
クライアントにアクセスはリードオンリーであることを示すか否かを設定します。 |
void |
setRealm(int nCode,
java.lang.String strRealm)
送信するRealmとそのコードセットを設定します。 |
void |
setRequestUserId(boolean flag)
ユーザーIDをクライアントに求めるか否かを設定します。 |
クラス personal.sakaki.io.ObexConnection から継承されたメソッド |
---|
addHttpHeader, close, finalize, getBody, getContentLength, getCount, getDescription, getHttpHeader, getHttpHeaderNames, getName, getReceiveMTU, getSendMTU, getTime, getType, openDataInputStream, openDataOutputStream, openInputStream, openOutputStream, removeHttpHeader, setAuthenticator, setBody, setCount, setDescription, setName, setPassword, setPrivateKey, setTime, setTimeFormat, setType, setUserId |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
---|
public void accept() throws ObexException
クライアントから接続が行われるのを待ち、接続に関するネゴシエーションを行います。 このメソッドを呼び出してから切断するまでの間、クライアントとOBEXプロトコルによる通信を行うことが出来ます。
既にaccpetを行った状態で再度このメソッドを呼び出すとIllegalStateException
例外クラスがthrowされます。
処理中に何らかの障害が発生した場合、適切なステータスをセットしてObexException
例外クラスがthrowされます。
ObexException
- 処理中に何らかの障害が発生した際に、適切なステータスが設定されてthrowされます。
java.lang.IllegalStateException
- 既にaccpet済みのオブジェクトあるいはクローズ済みのオブジェクトにおいて、再度このメソッドを呼び出すとthrowされます。public void receiveRequest(java.io.OutputStream os) throws java.io.IOException
クライアントからリクエストを受信します。受信したリクエストを分析し、ObexConnection
クラスの各種メソッドで取得できるようにします。
なお、受信したリクエストにBODYおよびEND-OF-BODYヘッダによるデータが含まれていた場合、そのデータはパラメータで渡した出力ストリームに書き込みます。
処理中に何らかの障害が発生した場合、適切なステータスをセットしてObexException
例外クラスがthrowされます。
os
- BODYおよびEND-OF-BODYパケットに含まれるデータを受け取る出力ストリームオブジェクトを渡します。
java.io.IOException
- 出力ストリームの操作中に発生した例外クラスがスルーされます。
ObexException
- 通信操作中に何らかの問題が発生した場合に対応するステータスが設定されてthrowされます。
java.lang.IllegalStateException
- accept()
メソッドを呼び出す前あるいはリクエストに対するレスポンスを返す前またクローズ済みのオブジェクトに対してこのメソッドを呼び出した場合にthrowされます。public void receiveRequest() throws ObexException
クライアントからリクエストを受信します。受信したリクエストを分析し、ObexConnection
クラスの各種メソッドで取得できるようにします。
なお、受信したリクエストにBODYおよびEND-OF-BODYヘッダによるデータが含まれていた場合、そのデータもObexConnection
クラスのgetBody()
およびopenInputStream()
、openDataInputStream()
メソッドで取得できます。
処理中に何らかの障害が発生した場合、適切なステータスをセットしてObexException
例外クラスがthrowされます。
ObexException
- 通信操作中に何らかの問題が発生した場合に対応するステータスが設定されてthrowされます。
java.lang.IllegalStateException
- accept()
メソッドを呼び出す前あるいはリクエストに対するレスポンスを返す前またはクローズ済みのオブジェクトに対してこのメソッドを呼び出した場合にthrowされます。public int getOperation()
最後に受信したリクエストのオペレーションコードを返します。
リクエストを受信する前にこのメソッドを呼び出すとIllegalStateException
例外クラスをthrowします。
java.lang.IllegalStateException
- リクエストを受信する前にこのメソッドを呼び出すとthrowします。public void sendResponse(int code, java.io.InputStream is) throws java.io.IOException
クライアントから受け取ったリクエストに対するレスポンスを送信します。
リクエストを受け取る前にこのメソッドを呼び出した場合、IllegalStateException
例外クラスをthrowします。
このメソッドはsendResponse(int)
メソッドと同様にクライアントへレスポンスを送信するために使用しますが、BODYおよびEND-OF-BODYヘッダにて送信するデータを入力ストリームを用いて渡す点が異なります。
このため、このメソッドは大量あるいは不明なデータ量のデータを送信するのに適しています。
code
- クライアントへ送信するレスポンスコードを渡します。is
- クライアントへBODYおよびEND-OF-BODYヘッダで送信するデータへ接続した入力ストリームを渡します。
java.lang.IllegalStateException
- リクエストを受け取る前あるいはクローズ済みのオブジェクトに対してこのメソッドを呼び出した場合にthrowされます。
java.lang.IllegalArgumentException
- GET
オペレーション以外でBODYおよびEND-OF-BODYヘッダで送信するデータを指定した際にthrowされます。
ObexException
- レスポンス送信処理中に何らかの問題が発生した場合に該当するステータスを設定してthrowします。
java.io.IOException
- 入力ストリームの操作中にthrowされた例外をスルーします。public void sendResponse(int code) throws ObexException
クライアントから受け取ったリクエストに対するレスポンスを送信します。
リクエストを受け取る前にこのメソッドを呼び出した場合、IllegalStateException
例外クラスをthrowします。
このメソッドはsendResponse(int, InputStream)
メソッドと同様にクライアントへレスポンスを送信するために使用しますが、BODYおよびEND-OF-BODYヘッダにて送信するデータを以下に示すメソッドを用いて用いて渡す点が異なります。
setBody(byte[])
openInputStream()
openDataInputStream()
このため、このメソッドは少量あるいは明確に量が想定できるデータを送信するのに適しています。
code
- クライアントへ送信するレスポンスコードを渡します。
java.lang.IllegalStateException
- リクエストを受け取る前あるいはクローズ済みのオブジェクトに対してこのメソッドを呼び出した場合にthrowされます。
java.lang.IllegalArgumentException
- GET
オペレーション以外でBODYおよびEND-OF-BODYヘッダで送信するデータを指定した際にthrowされます。
ObexException
- レスポンス送信処理中に何らかの問題が発生した場合に該当するステータスを設定してthrowします。public void setRealm(int nCode, java.lang.String strRealm)
送信するRealmとそのコードセットを設定します。
文字列にnull
を指定すると設定されているRealmを削除します。
nCode
- 送信する際に使用するコードセットを渡します。strRealm
- 送信するRealmを渡します。
java.lang.IllegalArgumentException
- nCode
が不正な値の場合にthrowされます。ObexConnection.ASCII
,
ObexConnection.ISO_8859_1
,
ObexConnection.ISO_8859_2
,
ObexConnection.ISO_8859_3
,
ObexConnection.ISO_8859_4
,
ObexConnection.ISO_8859_5
,
ObexConnection.ISO_8859_6
,
ObexConnection.ISO_8859_7
,
ObexConnection.ISO_8859_8
,
ObexConnection.ISO_8859_9
,
ObexConnection.UNICODE
public void setRequestUserId(boolean flag)
ユーザーIDをクライアントに求めるか否かを設定します。
flag
- 求める場合はtrue
を、求めない場合はfalse
を渡します。public void setReadOnly(boolean flag)
クライアントにアクセスはリードオンリーであることを示すか否かを設定します。 なお、実際にリードオンリーの振る舞いを提供するのはアプリケーション側のコーディングが必要です。
flag
- 示す場合はtrue
を、示さない場合はfalse
を渡します。public void authenticate() throws ObexException
設定されている認証情報に基づいてクライアントに認証を求めます。
認証に失敗したり、認証に対する応答を行わなかった場合にはObexException
例外クラスをAUTHENTICATION_FAILURE
ステータスでthrowします。
認証に成功すると呼び出し元に処理を戻します。
続いて通常のリクエストの処理と同様に各種設定を行ってからsendResponse(int, java.io.InputStream)
メソッドを呼び出します。
java.lang.IllegalStateException
- リクエストを受け取る前あるいはクローズ済みのオブジェクトに対してこのメソッドを呼び出した場合にthrowされます。
ObexException
- 認証処理中に何らかの問題が発生した場合に該当するステータスを設定してthrowします。public boolean isSetPath_BackupLevel()
SETPATHオペレーションにおいて、実行前上位フォルダへ移動(bit0)フラグが設定されているか否かを返します。 このメソッドは暫定的に作成したもので、今後名称を変更したり廃止したりする可能性があります。
true
を、そうでなければfalse
を返します。
java.lang.IllegalStateException
- SETPATHオペレーションを受信する前にこのメソッドを呼び出した場合にthrowします。public boolean isSetPath_NoFolderCreate()
SETPATHオペレーションにおいて、非フォルダ作成&エラーレポート(bit1)フラグが設定されているか否かを返します。 このメソッドは暫定的に作成したもので、今後名称を変更したり廃止したりする可能性があります。
true
を、そうでなければfalse
を返します。
java.lang.IllegalStateException
- SETPATHオペレーションを受信する前にこのメソッドを呼び出した場合にthrowします。
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |