質問: iosではcorebluetooth android ではbleと認識しています。 ios androidをコードからm対n接続もしくは1対m接続をbluetooth/bleで行い双方向で何か文字列等の送受信を行うことは可能ですか?? 可能であれば、キーワードなど教えていただけたら嬉しいです。
回答: 割とマジで `Bluetooth` 仕様書 仕様書が読めないなら解説書 大前提として `BLE` は `Bluetooth Low Energy` の意味で、通信速度より消費電力削減を優先しています。なのでファイル共有のような大量データのやりとりには全く向きません。 `BLE` は非対称ネットワークであって `Peripheral` と `Central` に役割が分かれます。仕様上 `Peripheral` と `Central` 間にて一定フォーマットの小さなデータを定期的にやりとりするのは得意ですが `Central` 同士 `Peripheral` 同士で通信することはできません。 スマホは通常 `Central` で使います。なのでスマホ同士で通信させることはできません。複数のスマホを `Peripheral` にして `Central` なスマホ1台と接続することはできますが、これは従来通りのサーバークライアントであって p2p ではないです。 コメントで質問が追記されたので対応。 `BLE` の通信は周辺装置 (`Peripheral`) とPC本体 (`Central`) の間での通信を最小限の電力で行うことを想定しています。そのため - 基本は P→C 。だけど、相互に送受信することができます - 電文内容は固定的なものとなります (GATT Profile で決まる/決める) 例えばキーボードと PC 本体間の通信では HID over GATT Profile を使い - P→C キー状態一覧を送信 (`Caps` キーが押されている) - `Central` は自分自身内部の `CapsLock` 状態を更新して - C→P LED 点灯状況一覧を送信 (`CapsLock` LED 点灯) 別のタイミングでは - P→C キー状態一覧を送信 (`NumLock` キーが押されている) - `Central` は自分自身内部の `NumLock` 状態を更新して - C→P LED 点灯状況一覧を送信 (`NumLock` LED 消灯) のような通信ができます、というか、そういう通信しかしません。 スマホを `Peripheral` にしても、出来るのはそういう通信のみです。任意の電文を任意のタイミングでやりとりするには `BLE` は向きませんのでご承知おきください。