Bluetoothによるネットワーキング の2(ファイルの送受信)

実際の通信を行う前に、ネットワーククライアントを配布する必要が有る。そのためには、Bluetooth標準で備わっているファイルの送受信機能を使えると嬉しい。
もっとも、PANを確立したあとに、そのままWindowsのファイル共有を使う方法も有る。
ここでは、OPP(ObjectPushProfile)やFTP(FileTransferProfile)を用いた方法を扱う。

注意すべきこと

  • スタックによって機能の名称が異なる
  • 相性が出る
  • 予めペアリングを済ませておくとスムースに行く

大きく分けてOPPとFTPの2種類が有る。FTPは共有フォルダを作成して双方向にファイルがやり取りできる等より高機能である。ただ、高機能といっても共有ファイルシステムを実現するほどの能力は無い。

OPP

XP標準スタックはOPPしかサポートしていないため、多くの場合はこちらが使われる。XP標準スタック以外では、どちらを使うのか意識する機会は殆ど無い。
OPPで取り扱われるプロトコルはOBEXと呼ばれ、これはIrOBEXを元にしている。
IrOBEXは耳慣れないプロトコルかもしれないが、赤外線を使って「携帯電話で名刺交換をする」というシチュエーションにおいて使われているプロトコルがIrOBEXであり、同等の操作感を提供する。
ちなみに、Windows標準のIrDAスタックはIrOBEXをサポートしているため、Bluetoothの場合と同様にして赤外線経由でファイルをやり取りすることも出来る。とっさに携帯電話内のファイルをPCにコピーしたい場合に便利だが、多くのPCにはIrDAポートが無いためあまり活用されない傾向にある。

FTP

BluetoothにおけるFTPは、TCP/IPで用いられるFTPとは異なる。
WindowsのスタックがFTPをサポートしていないが、FTPをサポートしたほかのスタック同士では、共有フォルダを介したファイルのやりとりが非常に容易に行えるのでこちらを検討する意味が有る。
以下ではFTPの使い方に関しては触れていないが、多くのスタックは通常のファイル単体転送でも(サポートしていれば)FTPを用いる。

基本

送信の操作そのものは簡単で、ファイルを右クリックしてメニューを選択するだけで良い。

相手先のデバイスはペアリングするだけではメニューには現れず、初回はかならず「他のデバイス」といったメニューから検索する必要が有る。
受信はXP標準スタック以外は特に操作する必要は無い。XP標準スタックは必ず受信待ち操作が必要になる。

Windows XP 標準スタック

  • OPPのみ

WindowsXP 標準スタックでは、Object Pushのみを扱うことが出来る。
Windowsでは、ファイルを受信する前に待ちうけ状態にする必要が有る。これは、トレイアイコンのメニューから操作できる。トレイアイコンが表示されていない場合はコントロールパネルから有効にする。

東芝スタック

  • OPP : オブジェクト交換
  • FTP : ファイル交換

XP標準スタックはOPPしかサポートしていないことに注意する。ファイル交換に関係する機能はXPスタックのノードに対しては行えない。
ファイル単体を送信するならば、右クリックメニューから選択すれば良い。「他のデバイスを検索する」を選べば、送信先をダイアログで選択できる。

XPスタックのノードが現れない場合は、XP側で受信操作を行ったかを確認する。XPは受信待ちのダイアログが出ている間しか、他のノードのリストには現れない。
このダイアログで送信する限りは、必要なプロファイルを自動判別して送信する。
受信に関しては特に操作は必要ない。

widcommスタック

  • OPP : PIMアイテム転送(自分), OBEX Object Push(他人)
  • FTP : ファイル転送(自分), File Transfer Service(他人)

widcommはなぜか自分のサービスと他人のサービスで名称が異なる。
また、WidcommのOPPでは0バイトのファイルを送信できないという不具合が有る。