全国服务热线:4008-888-888

技术知识

详解WebSocket跨域难题处理

WebSocket protocol是HTML51种新的协议书。它完成了访问器与服务器全双工通讯,另外容许跨域通信,是server push技术性的1种很好的完成。大家应用Socket.io,它很好地封裝了webSocket插口,出示了更简易、灵便的插口,也对不适用webSocket的访问器出示了向下适配。

新项目中遇到javascript跨域难题,父网页页面和子网页页面要通讯,而且父子网页页面跨域,如何办?

新项目中要确保父子网页页面通讯是点对点,必须在服务端创建对父子网页页面WebSocket的对应关联,即父网页页面发的信息只被子网页页面收到,子网页页面的信息也只被父网页页面收到大家做了下列工作中,严苛确保了

WebSocket通讯是点对点:

1是创建WebSocket连接的URL再加時间戳确保通讯对话是唯1的;

2是在服务端确保父子网页页面WebSocket11对应关联。父子网页页面的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这块,能够尝试应用3方WebSocket,相近GoEasy 极光之类的。

这里强烈推荐GoEasy,简易易用 www.goeasy.io 還是完全免费的,能够尝试1下。

以上便是本文的所有內容,期待对大伙儿的学习培训有一定的协助,也期待大伙儿多多适用脚本制作之家。



在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服