通信のレシピ

HTTP リクエスト、ファイルのダウンロード・アップロード、WebSocket、SSE、ローカル Web サーバー、TCP/UDP ソケット、mDNS によるローカルネットワーク探索など、ネットワーク通信のレシピです。

全 16 件 / 対象: Tauri 2.x

  1. 1 HTTP GET リクエストを送る(Rust経由) HTTP プラグインの fetch と Rust の reqwest で GET を送り JSON を受け取る。http:default とスコープ allow の URL の書き方、ブラウザの fetch との違い(CORS)も示す。 更新日: 2026-09-12
  2. 2 JSON データを POST 送信する HTTP プラグインの fetch で JSON を POST する。Content-Type を忘れると text/plain で送られ項目が無視される落とし穴、204・422 の扱い、reqwest の json() も示す。 更新日: 2026-09-12
  3. 3 HTTP ヘッダーをカスタマイズして送る HTTP プラグインと reqwest で Authorization などのヘッダーを送る。黙って捨てられる Cookie・Origin と unsafe-headers、既定の User-Agent、応答ヘッダーの読み方も示す。 更新日: 2026-09-12
  4. 4 URL クエリパラメータを付与して送る URL と URLSearchParams でクエリを組み立て、HTTP プラグインの fetch で送る。スペースが + になる符号化、配列や未指定値の扱い、スコープとクエリの関係、reqwest の query() も示す。 更新日: 2026-09-12
  5. 5 ファイルをダウンロードして保存する http プラグインの fetch() で受けた本文を fs プラグインで少しずつ書き込み、進捗を出す。大きなファイル向けの Upload プラグイン download() と Rust の reqwest、保存先の権限も示す。 更新日: 2026-09-12
  6. 6 サーバーにファイルをアップロードする http プラグインの fetch() と FormData で multipart 送信し、大きなファイルは Upload プラグインの upload() でパスから直接送る。進捗の受け方と Rust の reqwest で送る例も示す。 更新日: 2026-09-12
  7. 7 通信のタイムアウト時間を設定する http プラグインの connectTimeout で接続までを、AbortSignal で全体を区切る。中断時のエラーの見分け方、無通信の検出、Rust の reqwest の timeout と read_timeout も示す。 更新日: 2026-09-12
  8. 8 開発用に SSL 証明書エラーを無視する http プラグインの danger オプションと reqwest の danger_accept_invalid_certs で自己署名証明書を通す。本番ビルドに残さない仕組みと、検証を切らずに証明書を信頼させる方法も示す。 更新日: 2026-09-12
  9. 9 WebSocket で接続してメッセージを送受信する ブラウザ標準の WebSocket と websocket プラグイン(権限 websocket:default)の使い分け、テキストとバイナリの送受信、Close とエラーでの切断検知、Ping と待ち時間を延ばす再接続を示す。 更新日: 2026-09-12
  10. 10 アプリ内にローカル Web サーバーを立てる axum 0.8 と tokio でアプリ内に HTTP サーバーを立て、127.0.0.1 だけで待ち受ける。終了時の停止、ポートの選び方、WebView の fetch から呼ぶための CORS とプリフライトも示す。 更新日: 2026-09-12
  11. 11 インターネット接続状態(オンライン)を監視する navigator.onLine は true でもネットに出られるとは限らない。online / offline イベントと、http プラグインの fetch や Rust の reqwest で 204 が返るかの確認を組み合わせる。 更新日: 2026-09-12
  12. 12 空いているポート番号を探して使う ポート 0 で待ち受けて OS に空き番号を選ばせ、local_addr() で読む。その番号を画面へは State とコマンドで、サイドカーへは標準出力で、別のプログラムへはファイルで伝える。 更新日: 2026-09-12
  13. 13 Server Sent Events (SSE) を受信する SSE を EventSource、http プラグインの fetch(認証ヘッダー付き)、Rust の reqwest と Channel の 3 通りで受ける。チャンクをまたぐ行の解析と Last-Event-ID での再接続も示す。 更新日: 2026-09-12
  14. 14 ローカルネットワーク内の機器を検索する (mDNS) mdns-sd 0.21 で LAN 内のサービスを検索して Channel で画面へ送り、自分のアプリも公開する。サービス名の 15 バイト制限、終了時の取り消し、OS のファイアウォールの注意も示す。 更新日: 2026-09-12
  15. 15 TCP ソケット通信を行う JS からは開けない生の TCP を tokio の TcpStream で扱う。1 往復で閉じるコマンドと、接続を State に持って受信をイベントで送る常時接続、切断の検知と区切り方を示す。 更新日: 2026-09-12
  16. 16 UDP パケット通信を行う tokio の UdpSocket で、応答待ちと再送、ブロードキャストでの機器探索、固定ポートでの待ち受けとイベント通知を行う。Windows 特有のエラーとファイアウォールの注意も示す。 更新日: 2026-09-12