详解WebSocket跨域问题解决

这篇文章主要介绍了详解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视频教程!

相关推荐:

Html5视频教程

Html5视频教程

Html5视频教程

以上就是详解WebSocket跨域问题解决的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3123767.html

(0)
上一篇 2025年3月29日 18:54:46
下一篇 2025年3月29日 18:54:54

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vue.js怎么解决跨域问题

    vue.js解决跨域问题的方法:1、进入到vue项目根目录;2、找到vue.config.js文件,使用编辑器打开;3、在proxy中设置跨域即可。 本文操作环境:windows10系统、vue 2.5.2、thinkpad t480电脑。…

    2025年4月5日 编程技术
    200
  • 使用html5的FormData对象,通过 Ajax表单异步提交文件数据

    每次在向服务器提交文件对象数据是,总是需要借助各种三方插件来实现表单异步提交功能,还要为不同的界面去定制不同的插件css,相当繁琐。xmlhttprequest level 2 添加了一个新的接口——formdata。利用 formdata…

    编程技术 2025年4月4日
    100
  • html5的八大技术特征简介

    html5的八大技术特征简介:   HTML5 这个词获得了它自己的生命。无论是在开发者还是公众社区中,这个词的指代对象早已超过了简简单单一个标准的范畴,以至于来带了诸多的不解和争论。这套标准 需要一个标准。那就是,HTML5需要一组一致的…

    编程技术 2025年4月4日
    200
  • HTML5 Canvas 起步(1) – 基本概念

    什么是canvas  是一个新的 HTML 元素,这个元素在 HTML5 中被定义。这个元素通常可以被用来在 HTML 页面中通过 JavaScript 进行绘制图形、合成图像等等操作,也可以用来做一些动画。当然,目前 HTML5 规范还在…

    编程技术 2025年4月4日
    200
  • html5 worker 实例(一) 为什么测试不到效果

    很多人在测试worker api的时候,总是会出现异常,根本测试不到效果。 在使用worker的时候有个必须注意的地方,就是单纯的文本文件是实现不了worker的,你写的实际代码 必须部署到服务器(tomcat.jboss等)才能运行wor…

    编程技术 2025年4月4日
    200
  • html5 worker 实例(二) 图片变换效果

    worker的js代码img.js  onmessage = function(e) { postMessage(filter(e.data)) }; function filter(imgd) { var pix = imgd.pixel…

    编程技术 2025年4月4日
    200
  • 关于HTML5和CSS替换使用

    听到html5的都知道它的强大,如更多的描述性标记、较少依赖于插件的多媒体支持、跨文档消息通信、web sockets、客户端存储、更强大的表单、提升可访问性、先进的选择器、强大的视觉效果。费话不多说,细细说来 被废弃的标签和属性 废弃的标…

    编程技术 2025年4月4日
    100
  • 利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    摇一摇js脚本逻辑:接下来是移动端js脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下: if (window.DeviceMotionEven…

    编程技术 2025年4月4日
    100
  • H5的video标签操作摄像头

    这次给大家带来H5的video标签操作摄像头,H5的video标签操作摄像头注意事项有哪些,下面就是实战案例,一起来看一下。 详解HTML5 使用video标签实现选择摄像头功能 1. html // jquery reference //…

    编程技术 2025年4月4日
    100
  • H5的文本格式化使用方法

    这次给大家带来H5的文本格式化使用方法,H5文本格式化使用的注意事项有哪些,下面就是实战案例,一起来看一下。 注意事项对于我们编写注意事项也是非常重要的,各种各样的样式都需要使用到文本格式化,具体什么效果呢? 加粗文本斜体文本电脑自动输出这…

    编程技术 2025年4月4日
    100

发表回复

登录后才能评论