springboot websocket 跨域,websocket跨域

  springboot websocket 跨域,websocket跨域

  WebSocket协议是HTML5的新协议。它实现了浏览器和服务器的全双工通信,允许跨域通信,是服务器推送技术的一个很好的实现。我们使用Socket.io,它很好的封装了webSocket接口,提供了更简单灵活的接口,也为不支持webSocket的浏览器提供了向后兼容性。

  项目中存在javascript跨域问题。父页面和子页面要通信,父子页面是跨域的。我该怎么办?

  在项目中,要保证父子页面通信是点对点的,需要在服务器端建立父子页面WebSocket的对应关系,即父页面发送的消息只有子页面收到,子页面的消息只有父页面收到。我们做了以下工作,并严格保证。

  WebSocket通信是点对点:

  首先,WebSocket链接的URL添加时间戳,保证通信会话的唯一性;

  二是在服务器端保证父子WebSocket的一一对应。当打开父页面和子页面的WebSocket时,它们会向服务器发送消息进行注册,并建立Senssion之间的对应关系。然后父子页面可以通过双方约束的通信协议进行通信。

  这里我们写一个演示:

  var p=document . getelementsbytagname( p )[0];var io=io . connect( http://127 . 0 . 0 . 1:3001 );Io.on(数据,函数(数据){ alert( 2s后更改数据);p . innerhtml=data });计算机网络服务器

  var io=require(socket.io )(服务器);io.on(connection ,function(client){ client . emit( data , hello WebSocket from 3001 );});今天到此为止。希望对你有帮助。同时,如果你不想在WebSocket上花太多时间,可以尝试使用三方WebSocket,像GoEasy Aurora。

  这里推荐GoEasy。很好用www.goeasy.io还是免费的。你可以试试。

  这就是本文的全部内容。希望对大家的学习和支持有帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: