websocket使用遇坑

在vue当中集成websocket,将会遇到不少坑,在此,便是一些常见的坑,希望能帮助到你。

首先,原生H5的开发,你需要引入两个JS库:sock.js和stomp.js,而使用vue官方框架之后,你需要从npm当中引入npm install sockjs-client和npm install @stomp/stompjs。

而在引入之后,你可能还会遇到一些问题。

1、请求时,出现

The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://localhost:8889' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

这个是后台跨域处理时,使用了*,放行了所有域,但是浏览器处于安全,禁止了这个访问,解决方案一种,就是将后台 'Access-Control-Allow-Origin'指定ip。

2、在new SockJS('http://192.168.1.1:8080/test-info')时,内部要使用http,而非原生的ws://192.168.1.1:8080/test-info,否则会出现404错误

3、stompClient.send('/app/hello', {}, JSON.stringify(obj));推送消息给后台,或者与后台进行其他功能操作时,地址不需要在将具体ip写上,因为stomp当中已经记录了ip地址。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值