6

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

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

构建托管在

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

Unity3d 5.3.1。光子统一网络 v1.65。Build 使用 chromium、firefox 和 Internet Explorer 进行了测试。视窗 7 x64。

4

2 回答 2

7

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

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

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

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

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

于 2016-01-25T23:20:46.213 回答
1

问题解决了。错误在统一 5.3.1 中。版本 5.3.2 工作正常

于 2016-02-03T22:45:02.207 回答