WebGL网络数据跨域问题

历史文章目录连接:

https://blog.csdn.net/yy763496668/article/details/113117040

此链接为CSDN连接,目的为方便大家一览博客目录!内容会定期更新。

微信公众号:猿媛大本营

概述:

解决WebGL跨域问题

正文:

简单吐槽一下,用我们公司模型王哥的话说,Unity就是垃圾。自从接触了WebGL之后,我慢慢接受了王哥的观点。

WebGL中的坑是很多。比如在WebGL中进行网络通讯是一个很惊喜的行为,你又可能跑完所有功能后,在你发布成WebGL之后,发现不能使用。是不是很刺激。

由于安全性的影响,JavaScript代码没有直接访问IP套接字来实现网络连接。因此,该.NET网络类(System.Net命名空间中的一切,特别是System.Net.Sockets)在WebGL中不能工作。UnityEngine.Network* 类也是这样,编译WebGL时将找不到这些类。如果你需要在WebGL使用网络通信,你现在可以选择使用unity的WWW 或UnityWebRequest 类或则支持webGL的新的Unity 网络通信特性。或在JavaScript中使用WebSockets或WebRTC实现你自己的网络通信。

解决了以上问题之后,你还会发现如下问题。

先回顾原因:

项目是一个弱联网项目,使用HTTP的Get和Post请求。接口由服务器提供。在开发过程中,只要接口对接没有问题,基本上不会碰到问题。但是,在开发之后的测试中,我们不可能(说不可能,是因为麻烦,如果不怕麻烦,其实也是可能的)每次都将项目打包完都在同一个域(webGL运行的IP与Port和请求服务器数据的ip和port 完全相同我们称之为同一个域,否则是跨域访问)中进行测试,那么就会出现下列问题。

为了在测试的时候能够实现跨域访问。(使用谷歌浏览器)

我们需要做一下操作。

  1. 打开doc窗口

    快捷键 win+r

  2. 进入谷歌的安装目录。

    谷歌安装目录默认如下

    C:\Users\用户\AppData\Local\Google\Chrome\Application

    这里的用户以自己当前的用户保持一致

    cd 谷歌安装目录

  3. 执行以下命令

    chrome.exe --user-data-dir="c:\demoDir" --test-type --disable-web-security

完成以上的操作后,会有一个新的浏览器窗口打开,在地址栏中输入webGL地址即可访问

以上的操作是便于开发调试,如果是部署到服务器,要保证webGL工程和服务器在同一个域中

【关注、点赞,收藏】

关注公众号,您将第一时间收到文章更新

微信公众号:猿媛大本营

QQ群号:1056320746

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yy763496668

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值