2016-01-23 50 views
3

我已经开发了多光子unity3d射手与光子网络(PUN)。它建立良好和运行的Windows(EXE),但它不适用于浏览器(网络gl)。Unity3d WEB GL利用光子网络构建

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

构建托管在

google drive. 请你解释一下这个问题的原因是什么?

Unity3d 5.3.1。 Photon Unity Networking v1.65。 Build用铬,Firefox和Internet Explorer进行测试。 Windows 7 x64。

回答

1

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

3

WebGL没有常规套接字,它使用的是WebSockets,这是一个TCP连接,并且由常规Web服务器将其作为升级请求(不是升级请求!)进行威胁的握手。

现在,Photon已经WebGL知道,并会很好地使用WebSockets,但问题是WebSockets是一个不同于常规TCP连接的协议,因此需要一个支持WebSockets的专用服务器来保持连接活着(你不能听只要你不想保持PHP脚本运行很长时间,我甚至不确定PHP能做到这一点,评论者将在这里工作)。一个非常容易设置的WebSockets服务器带有NodeJS,但是这需要你学习一门新的语言和一个新的体系结构。

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

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

(这是不难实现您的服务器,它可能需要1个月,但实施一个聪明的服务器只是独自走出1人的机会)

+0

谢谢你不要。我们使用光子云。 Websocket使用tcp作为传输协议。 据我所知,光子支持websockets,但在项目的设置中,只有tcp和udp可用作传输。 您能否解释网络GL客户端的异常? – user1941407

+0

你确定光子云,然后支持websockets?你应该问他们的支持,我担心,在互联网上阅读似乎他们需要提供特定的SDK,我希望我错了 – GameDeveloper