検索
ホームページコンピューターのチュートリアルコンピュータ知識WebSocket: 接続の確立から切断までの完全なプロセス

WebSocket: 接続の確立から切断までの完全なプロセス

WebSocket は、クライアントとサーバーの間に全二重通信チャネルを提供し、リアルタイムの双方向データ送信をサポートする TCP ベースのプロトコルです。接続の確立、データ送信、および接続の終了は、WebSocket の完全なプロセスです。

  1. 接続を確立:

    • クライアントは WebSocket ハンドシェイク要求を開始します。クライアントは特別な
      を含む HTTP リクエストを送信します。 Upgradeヘッダー。プロトコルを HTTP から WebSocket にアップグレードすることを示します。
    • サーバーはハンドシェイク要求を受信した後、検証とプロトコルのアップグレード処理を実行します。サーバーはリクエスト ヘッダーをチェックし、WebSocket プロトコル要件に準拠しているかどうかを確認し、必要なプロトコルのアップグレードを実行します。
    • サーバーはハンドシェイク応答を返します。ハンドシェイク検証に合格すると、サーバーは
      を含むメッセージを返します。 Upgrade ヘッダーの HTTP 応答にはステータス コード 101 Switching Protocols があり、WebSocket プロトコルへのアップグレードが成功したことを示します。
    • 接続が確立されました。クライアントとサーバー間の TCP 接続は WebSocket 接続に正常にアップグレードされ、双方がリアルタイムの双方向データ送信を開始できるようになりました。
  2. ###データ送信:###

    クライアントとサーバーは、双方向通信に WebSocket 接続を使用できます。
    • クライアントとサーバーは、WebSocket メッセージを送信することでデータを交換できます。メッセージはテキスト形式またはバイナリ形式にすることができます。
    • メッセージは
    • 経由で送信できます
    • send()
      メソッドが送信されて渡されます onmessage
      イベント受付中。クライアントとサーバーの両方が、データ転送にこれらのメソッドとイベントを使用できます。
  3. 接続を閉じる:
  4. クライアントまたはサーバーは、WebSocket 接続を閉じることを選択できます。
    • 接続を終了する側は、相手に特別なクローズ フレーム (Close Frame) を送信します。
    • 相手はクローズフレームを受信すると、応答としてクローズフレームを送信します。
    • 双方が終了フレームを受信すると、相互間の WebSocket 接続が終了します。
次の点に注意する必要があります:

WebSocket 接続が確立されると、クライアントとサーバーの間でいつでもメッセージを送受信できるようになり、HTTP のようにリクエストごとに新しい接続を確立する必要はありません。
  • WebSocket 接続は永続的であり、長期間通信を維持できます。
  • WebSocket 接続では、ハートビート メカニズムを使用して、接続が生きているかどうかを検出できます。
  • WebSocket 接続では、データの圧縮と暗号化を実行して、パフォーマンスとセキュリティを向上させることができます。
  • WebSocket はリアルタイムの双方向通信を提供し、チャット アプリケーションやリアルタイム ゲームなどのリアルタイム データ送信を必要とするアプリケーションに適しています。

以上がWebSocket: 接続の確立から切断までの完全なプロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は每日运维で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
修正:Windowsアップデートが自動的にAMDを交換した可能性があります-Minitool修正:Windowsアップデートが自動的にAMDを交換した可能性があります-MinitoolApr 18, 2025 am 12:51 AM

PCがAMDチップセットで実行されている場合、「Windows UpdateがAMDを自動的に交換した」エラーメッセージを使用すると受信する場合があります。心配しないで! PHP.CNからのこの投稿は、あなたにいくつかのソリューションを提供します。

Microsoft Sway vs PowerPoint-どちらを選ぶべきですか?Microsoft Sway vs PowerPoint-どちらを選ぶべきですか?Apr 18, 2025 am 12:50 AM

Microsoft Swayとは何ですか?PowerPointとは何ですか?これら2つは、人々の働きや勉強を促進するための異なるプレゼンテーションツールです。したがって、それらの違いは何ですか、どのようにそれらを選択するか。 PHP.CNのWebサイトにあるこの投稿では、一部が提供されます

[必見] Win 10オフラインインストーラー:インストール10 22H2オフライン[必見] Win 10オフラインインストーラー:インストール10 22H2オフラインApr 18, 2025 am 12:49 AM

最新のWindows 10をオフラインまたはインターネットなしでインストールするためのWindows 10オフラインインストーラーはありますか?もちろん、はい。 PHP.CNソフトウェアは、この投稿でWindows 10オフラインインストーラーを取得する方法を示しています。

ガイド - 期限切れのWindows Server Auto -Shutdownを停止する方法は?ガイド - 期限切れのWindows Server Auto -Shutdownを停止する方法は?Apr 18, 2025 am 12:48 AM

一部のユーザーは、ライセンスの有効期限が切れた後、Windows Server Auto-Shutdownの問題を満たしていると報告しています。 PHP.CNからのこの投稿では、期限切れのWindows Server Auto-Shutdownを停止する方法を教えてくれます。今、あなたの読書を続けてください。

ファイルはOneDriveで表示できません - それを解決する方法は?ファイルはOneDriveで表示できません - それを解決する方法は?Apr 18, 2025 am 12:47 AM

特定のフォルダーにアクセスするときに、「ファイルを表示できない」エラーに苦労していますか?一部のユーザーは、このトラブルについて不平を言っており、有用な対策を探しています。ファイルに関するこの記事は、php.cn wilからonedriveを表示することはできません

Street Fighter 6システム要件 - 準備ができていますか? - ミニトールStreet Fighter 6システム要件 - 準備ができていますか? - ミニトールApr 18, 2025 am 12:46 AM

Street Fighter 6はCapcomが発行する格闘ゲームで、多くのゲームファンを魅了したStreet Fighterフランチャイズに属しています。一部の人々は、このゲームをPCでプレイしたいと考えています。それを行うには、ストリートファイター6システムexcrememに会う必要があります

ドライブ名ウィンドウ10/11の前にドライブレターを表示する方法-Minitoolドライブ名ウィンドウ10/11の前にドライブレターを表示する方法-MinitoolApr 18, 2025 am 12:45 AM

ドライブ名(ボリュームラベル)は、Windowsでデフォルトでドライブ文字の前に表示されます。ドライブ名の前にドライブレターを表示する方法を知っていますか? PHP.CNからのこの投稿では、ファイルエクスプローラーで最初にドライブレターを表示する方法を説明します。

Windows 10/11の言語バーで電源を切る正確な手順Windows 10/11の言語バーで電源を切る正確な手順Apr 18, 2025 am 12:44 AM

言語バーは、多言語のWindowsユーザーに役立ちます。単にクリックするだけで言語を変更できます。一部の人々は、タスクバーの言語バーでオフにしたいと思っています。あなたはそれをする方法を知っていますか?わからない場合は、このphp.cnの投稿を読んでpを見つけます

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール