ホームページ > 記事 > ウェブフロントエンド > WebSocket のクロスドメイン問題解決の詳細な説明
この記事は主に WebSocket のクロスドメインの問題を解決するための関連情報を詳しく紹介します。必要な方は参考にしていただければ幸いです。
WebSocket プロトコルは HTML5 の新しいプロトコルです。ブラウザとサーバー間の全二重通信を実現し、クロスドメイン通信を可能にするサーバープッシュ技術の優れた実装です。私たちは Socket.io を使用しています。これは、webSocket インターフェイスを非常にうまくカプセル化し、よりシンプルで柔軟なインターフェイスを提供し、webSocket をサポートしていないブラウザに対する下位互換性も提供します。
プロジェクトで JavaScript のクロスドメインの問題が発生しました。親ページと子ページはクロスドメインで通信する必要があります。どうすればよいですか?
プロジェクトでは、親ページと子ページ間の通信がポイントツーポイントであることを保証するために、サーバー側で親ページと子ページの WebSocket 間の対応関係を確立する必要があります。つまり、親ページによって送信されたメッセージは子ページによってのみ受信され、子ページのメッセージは受信時に親ページによってのみ受信されます。
## を厳密に保証するために次の処理を実行しました。#WebSocket 通信はポイントツーポイントです:
まず、WebSocket リンクの URL に時間を加えたものを確立します。最初に、通信セッションが確実に行われるようにします。 2 番目の方法は、サーバー側の親ページと子ページの間で 1 対 1 の WebSocket 対応を保証することです。親ページと子ページの WebSocket が開かれると、サーバーにメッセージを送信して登録し、Sensions 間の対応関係を確立します。これにより、親ページと子ページは、双方によって制約された通信プロトコルを通じて通信できるようになります。 ここでデモを書きます:var p = document.getElementsByTagName(‘p’)[0]; var io = io.connect(‘http://127.0.0.1:3001’); io.on(‘data’,function(data){ alert(‘2S后改变数据’); p.innerHTML = data });サーバー側
var io = require(‘socket.io’)(server); io.on(‘connection’,function(client){ client.emit(‘data’,’hello WebSocket from 3001.’); });今日はこれで終わりです。同時に、皆さんのお役に立てれば幸いです。それにあまり時間をかけたくない WebSocket については、GoEasy Aurora に似たサードパーティの WebSocket を使用してみることができます。 要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連チュートリアルの詳細については、
Html5 ビデオ チュートリアル
をご覧ください。php 公共福祉トレーニング ビデオ チュートリアル
以上がWebSocket のクロスドメイン問題解決の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。