personal.sakaki.io
インタフェース ObexSocket

既知のサブインタフェースの一覧:
ObexClientSocket, ObexServerSocket

public interface ObexSocket

OBEXライブラリにて送受信を担当するクラスが実装すべき基本事項を定義するインターフェースです。 標準で提供している、赤外線(Windowsのみ)、TCP/IP以外の通信手段をOBEXライブラリで使用する場合にアプリケーションが実装します。

通常はこのインターフェースを直接実装せずに、サーバー側の送受信はObexServerSocketインターフェースを、クライアント側の送受信はObexClientSocketインターフェースを実装することで行います。

作成者:
さかきけい
関連項目:
ObexManager

メソッドの概要
 void close()
          ソケットをクローズします。
 int getMTU()
          このソケットが一度に送受信可能なパケットサイズの上限を返します。
 void open()
          ソケットをオープンします。
 int receive(byte[] byPacket, int nIndex, int nLength)
          通信経路からデータを受信ます。
 int send(byte[] byPacket, int nIndex, int nLength)
          通信経路へデータを送信します。
 void setParameter(java.lang.Object obj)
          このソケットが解釈する実装依存のパラメータオブジェクトを設定します。
 

メソッドの詳細

setParameter

void setParameter(java.lang.Object obj)

このソケットが解釈する実装依存のパラメータオブジェクトを設定します。 OBEXライブラリはインスタンスを生成後、このメソッドを呼び出します。

パラメータが不適切な場合はIllegalArgumentException例外クラスをthrowします。

パラメータ:
obj - アプリケーションからパラメータとして受け取ったオブジェクトを渡します。

getMTU

int getMTU()

このソケットが一度に送受信可能なパケットサイズの上限を返します。 OBEXライブラリはこのサイズを元にパケットの生成およびネゴシエーションを行います。

サイズは最低でも64バイト程度、最大で65535バイト以下でなければなりません。

戻り値:
1パケットで伝送できる最大バイト数を返します。

open

void open()
          throws ObexException

ソケットをオープンします。 OBEXライブラリが通信を開始する前に1度呼び出します。

ソケットが通信に際して初期化を必要とする場合はこのメソッドで処理を実装します。

例外:
ObexException

close

void close()
           throws ObexException

ソケットをクローズします。 OBEXライブラリが通信を終了する際に1度呼び出します。

通信経路を閉じたり確保しているリソースを開放したりする処理を実装します。

例外:
ObexException

receive

int receive(byte[] byPacket,
            int nIndex,
            int nLength)
            throws ObexException

通信経路からデータを受信ます。 OBEXライブラリはパケットの境界とは関係なく、必要な量のデータを受信します。 必要に応じて(必要であれば)ソケット側でパケットの境界を抽象化する必要があります。

データはnLengthバイトを受信し、byPacket内のnIndexからに格納します。 受信可能なバイト数がnLength以下の場合はそのバイト数までのデータでもかまいません。 そして受信したバイト数を戻り値とします。

データを受信することが出来ない場合は最も近い理由のステータスコードを設定したObexException例外クラスをthrowします。

パラメータ:
byPacket - 受信したデータを受け取るbyte配列のバッファを渡します。
nIndex - 受信したデータの格納を開始する位置を渡します。
nLength - 受信するデータのバイト数を渡します。
戻り値:
実際に受信したデータのバイト数を返します。
例外:
ObexException - データの受信に失敗した場合に必要な設定をしてthrowします。

send

int send(byte[] byPacket,
         int nIndex,
         int nLength)
         throws ObexException

通信経路へデータを送信します。 OBEXライブラリはパケットの境界とは関係なく、必要な量のデータを送信します。 必要に応じて(必要であれば)ソケット側でパケットの境界を抽象化する必要があります。

送信するデータはbyPacket内のnIndexが示す位置からnLengthバイトのデータです。 送信可能なバイト数がnLength以下の場合はそのバイト数までのデータの送信でもかまいません。 そしてその送信したバイト数を戻り値とします。

データを送信することが出来ない場合は最も近い理由のステータスコードを設定したObexException例外クラスをthrowします。

パラメータ:
byPacket - 送信するデータを保持するbyte配列のバッファを渡します。
nIndex - 送信するデータの開始位置を渡します。
nLength - 送信するデータのバイト数を渡します。
戻り値:
実際に送信したデータのバイト数を返します。
例外:
ObexException - データの送信に失敗した場合に必要な設定をしてthrowします。


本ライブラリは"さかきけい"が作成した無保証の評価目的専用のOBEXライブラリです。他の用途への転用は一切行えません。
記載された内容および本ライブラリには既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本APIリファレンスおよび本ライブラリを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開およびInternet/Intranet/LANを問わず他サイトに転載すること、複写および複製することを禁じます。

Copyright© 2002-2008 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。