使用光子网络构建Unity3d WEB GL

use*_*407 4 c# unity-game-engine photon unity-webgl

我已经开发了具有光子网络(PUN)的多人unity3d射击游戏。它运行良好,可以在Windows(exe)上运行,但是在浏览器(web gl)中不起作用。

没有光子的测试项目在浏览器中可以正常工作。我认为问题与光子有关。js控制台中有几个例外。

构建托管于

谷歌驱动器。 您能解释这个问题的原因吗?

Unity3d 5.3.1。Photon Unity Networking v1.65。使用chrome,firefox和Internet Explorer对构建进行了测试。Windows 7 x64。

Gam*_*per 5

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

现在,Photon已经具备WebGL意识,可以很好地使用WebSockets,但是问题是WebSockets是与常规TCP连接不同的协议,因此需要支持WebSockets的专用服务器来保持连接有效(您无法通过PHP页面进行监听只要您不想让PHP脚本长时间运行,我什至不确定PHP能否做到这一点,评论者将在这里进行工作。一个非常容易安装的WebSockets服务器随NodeJS一起提供,但是需要您学习新的语言和新的体系结构。

您是否已经尝试连接到Photon在线服务?据我所知,“光子云”应该正确回答WebSockets。

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

(部署服务器并不难,可能需要1个月的时间,但是部署一个聪明的服务器仅是一个人的机会而已)


use*_*407 1

问题解决了。Bug 存在于 unity 5.3.1 中。5.3.2版本运行良好