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

首頁 > 編程 > HTML > 正文

詳解WebSocket跨域問題解決

2024-08-26 00:20:53
字體:
來源:轉載
供稿:網友

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 還是免費的,可以嘗試一下。

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


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金堂县| 三都| 中卫市| 盖州市| 扎兰屯市| 湘潭市| 陈巴尔虎旗| 广水市| 赣州市| 郴州市| 平果县| 越西县| 湛江市| 平邑县| 丹东市| 芜湖市| 阳西县| 交口县| 县级市| 隆昌县| 昌宁县| 阳朔县| 正安县| 左贡县| 彩票| 富川| 沛县| 新沂市| 冀州市| 阜南县| 禹州市| 沂水县| 横峰县| 磴口县| 湘潭县| 城市| 普格县| 高邮市| 友谊县| 衡阳县| 张家界市|