详解WebSocket跨域题目解决-
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 极光之类的。
总结:以上就是本篇文的全部内容,但愿能对大家的学习有所帮忙。更多相干教程请拜访Html5视频教程!