
サーバー保存なしでファイルを直接転送するWEBアプリ
WindowsとiPhoneの間でファイルを送るのがなかなか面倒。
わざわざケーブルを繋がずにデータを送りたい。
いくらでも需要がありそうなのに何故か無いから作った。
PCでページを開いてQRコードを読み取ると、スマホと1対1で接続し、双方向にファイル送受信できる。
1. アプリの使い方
接続
- PCでhttps://circleken.net/transfer-app を開く
- 表示されたQRコードをスマホで読み取る
- 「接続済み」になったら準備完了
- アプリ画面

ファイル送信
- 送る側が「ファイルを選択」を押す
- 送る側が「N件のファイルを送信」を押す
- 受け取る側が「保存」を押す
- 送る側

- 受け取る側

備考
通信はWebRTC P2Pなので、ファイルデータはサーバーを経由しない。
試してないけどPC←→PC間やスマホ←→スマホ間でも使えるはず。
2. 仕組み
1 | 送信側 |
- 接続確立は PeerJS(シグナリング)
- ファイル本体は WebRTC DataChannel で直接送信
- 64KB超の送信バッファ時は待機してバックプレッシャー制御
- 直近3秒ローリングウィンドウで速度算出
3. 技術仕様メモ
| 項目 | 値 |
|---|---|
| チャンクサイズ | 16 KB (16,384 bytes) |
| バッファ閾値 | 64 KB (65,536 bytes) |
| 速度計算ウィンドウ | 3 秒 |
| 接続タイムアウト | 30 秒 |
| 再接続 | 指数バックオフ + ジッター |
| 再接続上限 | 7 回 |
| 一括保存の間隔 | 500 ms |
4. 使用ライブラリ
| ライブラリ | バージョン | 用途 |
|---|---|---|
| PeerJS | 1.5.5 | WebRTC接続のシグナリング・接続管理 |
| QRCode.js | 1.0.0 | 接続URLのQRコード生成 |
ファイル転送や通知処理はブラウザ標準API(WebRTC DataChannel / File API / Notification API / Web Audio API)を使用。

便利だね!

