ホームページ > 記事 > ウェブフロントエンド > Node.jsでのsocket.io学習チュートリアルの紹介(1)
socket.io はイベントに基づいたリアルタイムの双方向通信を提供します。そのため、次の記事では、socket.io に関する関連情報を主に紹介し、socket.io を学習するための基礎知識を主に紹介します。一緒に見てみましょう。
はじめに
Web とサーバー間のリアルタイムのデータ送信は非常に重要な要件ですが、最初は AJAX ポーリングによってのみ実現できます。 WebSocket 標準が導入される前は、AJAX ポーリングが唯一の実現可能な方法でした (Flash ブラウザ経由でも可能でしたが、ここでは説明しません)。 AJAX ポーリングの原理は、AJAX を介してサーバー データを定期的に同期するタイマーを設定することです。この方法では遅延が発生し、サーバーに大きな負荷がかかります。 IETF が TCP ソケットに基づいてデータを送受信するためのプロトコルである WebSocket を標準化したのは 2011 年になってからです。現在、主要なブラウザはすべて WebSocket をサポートしています。
server.bind を介して <p><code>server.bind
绑定
应用
实时数据分析展示(报表,日志)
即时通讯、聊天,
二进制流(图片,音乐,视频)传输
多人协同编辑
即时消息推送
类似技术
AJAX轮询: 基于XMLHttpRequest的AJAX轮询
AJAX长轮询: 类似轮询,服务器在客户端请求后不返回响应,直到有数据需要传到客户端,传完数据后客户端再发起新的请求。缺点是要额外传输的HTTP头,保持住请求不响应也需要一些额外工作。
HTTP流: 与AJAX长轮询类似,服务端响应会带上HTTP头: Transfer-Encoding: chunked
をバインドすることもできます。コード > 分析と表示 (レポート、ログ)
インスタント メッセージング、チャット、
バイナリ ストリーム (写真、音楽、ビデオ) 送信
複数人での共同編集
インスタント メッセージ プッシュ
similarial Technologies送信する必要があるデータ クライアント。データが送信された後、クライアントは新しいリクエストを開始します。欠点は、追加の HTTP ヘッダーを送信する必要があり、リクエストが応答しないようにするために追加の作業が必要になることです。
HTTP ストリーム: AJAX ロングポーリングと同様に、サーバー応答は HTTP ヘッダーを返します: Transfer-Encoding: chunked
データをクライアントに返した後、クライアントは開始する必要はありません。新しいリクエストの欠点は、各チャンク間のデータの識別と処理が難しいことです。
一方向/双方向方法
双方向: WebSocket、プラグイン
Delay
WebSocket < プラグイン < ing以上がNode.jsでのsocket.io学習チュートリアルの紹介(1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。