我已经开发出具有光子网络(PUN)的多人Unity3d射击游戏。它构建良好并运行Windows(exe),但它在浏览器(web gl)中不起作用。
没有光子的测试项目在浏览器中工作正常。我认为这个问题与光子有关。在js控制台中有几个例外。
Build托管于
google drive. 你能解释一下这个问题的原因吗?
Unity3d 5.3.1。 Photon Unity Networking v1.65。使用chrome,firefox和Internet Explorer测试Build。 Windows 7 x64。
答案 0 :(得分:4)
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 :(得分:1)
问题解决了。 Bug是统一的5.3.1。版本5.3.2工作正常