Metrika

29 декабря 2012 г.

Unity-клиент и IIS

Если вы разместите HTML страницу и Unity приложение, которое подгружается в эту страницу, в IIS, то скорее всего после загрузки HTML страницы, Unity-плеер скажет, что не может загрузить приложение: Failed to load data file.

Для того, что бы заработало, надо в IIS прописать MIME-type для расширения .unity3d.






Photon Server и Cross Domain Policy

Речь пойдет о соединении клиентом (в моем случае Unity-клиент встроенный в Web-страницу) по TCP сокету к Photon серверу, стоящему на машине под управлением Windows Server 2008.

Все привыкли, что кросс-доменная политика сервера описывается в файле crossdomain.xml, но в случае с сервером Photon, когда соединение происходит через сокет, будет использоваться файл C:\Photon\deploy\Policy\assets\socket-policy.xml


По-умолчанию, он будет позволять соединения с любых доменов на необходимые порты:


<cross-domain-policy>
      <allow-access-from domain="*" to-ports="5055,5056,5057,4530,4531,4532,9090" />
</cross-domain-policy>

Так же, когда вы запускаете PhotonControl и далее выполняете Install Service, Photon создаст в фаерволе необходимую запись, что бы соединения проходили.

По-умолчанию, Photon ждет соединения по TCP на порту 4530, а по UDP на порту 5055. Но кроссдоменная политика проверяется на TCP порту 843. Правило фаервола позволяет это соединение, но в моем случае, я не создал правило port-mapping на порт 843, поэтому соединение телнетом на порт 4530 проходили, но Unity-клиент не запускался.