Unity3d WEB GL 使用光子网络构建

Unity3d WEB GL build with photon network

我已经开发了带有光子网络 (PUN) 的多人 unity3d 射击游戏。它构建良好并且 运行 用于 windows(exe),但它在浏览器 (web gl) 中不起作用。

没有光子的测试项目在浏览器中工作正常。我认为这个问题与光子有关。 js console中有几个异常。

构建托管于

google drive. 能否请您解释一下这个问题的原因?

Unity3d 5.3.1。光子统一网络 v1.65。构建已使用 chromium、firefox 和 internet explorer 进行了测试。 Windows7 x64。

WebGL 没有常规套接字,它使用 WebSockets 代替,这是 TCP 连接,握手受到常规 Web 服务器威胁作为升级请求(这不是升级请求!)。

现在,Photon 已经支持 WebGL 并且可以很好地使用 WebSockets,但是问题是 WebSockets 是与常规 TCP 连接不同的协议,因此需要一个支持 WebSockets 的专用服务器来保持连接有效(你不能只要您不想长时间保留 PHP 脚本 运行,请使用 PHP 页面收听,我什至不确定 PHP 是否可以做到这一点,评论者将在此处进行工作)。 NodeJS 附带了一个非常易于设置的 WebSockets 服务器,但是需要您学习一门新语言和新架构。

您是否已尝试连接到 Photon 在线服务?据我所知 "Photon cloud" 应该正确回答 WebSockets。

如果您以 P2P 方式连接客户端(Unity Master Server),那么您需要检查 MasterServer 是否支持 WebSockets,如果您搜索任何错误,您应该通过 WebSockets 协议进行搜索。

(实现你的服务器并不难,可能需要1个月,但实现一个聪明的服务器是一个人的机会)

问题已解决。错误出现在 unity 5.3.1 中。版本 5.3.2 工作正常