国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > HTML5 > 正文

詳解WebSocket跨域問題解決

2024-09-05 07:22:36
字體:
來源:轉載
供稿:網友

WebSocket protocol是HTML5一種新的協議。它實現了瀏覽器與服務器全雙工通信,同時允許跨域通訊,是server push技術的一種很好的實現。我們使用Socket.io,它很好地封裝了webSocket接口,提供了更簡單、靈活的接口,也對不支持webSocket的瀏覽器提供了向下兼容。

項目中遇到javascript跨域問題,父頁面和子頁面要通信,并且父子頁面跨域,怎么辦?

項目中要保證父子頁面通信是點對點,需要在服務端建立對父子頁面WebSocket的對應關系,即父頁面發的消息只被子頁面收到,子頁面的消息也只被父頁面收到我們做了以下工作,嚴格保證了

WebSocket通信是點對點:

一是建立WebSocket鏈接的URL加上時間戳保證通信會話是唯一的;

二是在服務端保證父子頁面WebSocket一一對應關系。父子頁面的WebSocket在Open時都會向服務端發出消息進行注冊,建立Senssion之間的對應關系。然后父子頁面就可通過雙方約束的通信協議進行通信了。

這里我們寫個demo:

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這塊,可以嘗試使用三方WebSocket,類似GoEasy 極光之類的。

這里推薦GoEasy,簡單易用 www.goeasy.io 還是免費的,可以嘗試一下。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 印江| 皋兰县| 甘洛县| 万盛区| 札达县| 金川县| 临夏市| 齐河县| 呼伦贝尔市| 横峰县| 贺兰县| 泰安市| 吴旗县| 关岭| 吕梁市| 巴林左旗| 和平县| 淅川县| 东至县| 盱眙县| 凤冈县| 鄂托克前旗| 东辽县| 苍溪县| 秦皇岛市| 呼玛县| 天峨县| 西安市| 三穗县| 赤峰市| 三明市| 平舆县| 将乐县| 明星| 曲麻莱县| 耿马| 东丰县| 宿松县| 柳江县| 芒康县|