WebSocket のクロスドメイン問題解決の詳細な説明

青灯夜游
リリース: 2018-10-09 16:23:04
転載
3173 人が閲覧しました

この記事は主に 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 公共福祉トレーニング ビデオ チュートリアル

HTML5 グラフィック チュートリアル

HTML5オンライン マニュアル

以上がWebSocket のクロスドメイン問題解決の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート