![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2012
Сообщений: 148
|
Не могу никак добиться конекта через вебсокет. Локально прекрасно работает, с сервера - кидает ошибку Security sandbox violation.
По идее, хост и порт с сервером и кросдоменом одни и те же, но не работает. Security.loadPolicyFile("http://ws.domain.ru:80/crossdomain.xml"); ... var websocket:WebSocket = new WebSocket("ws://ws.domain.ru/ws", "80"); |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 200
|
без кода сервера точно и не скажешь, что у вас там.
по своему опыту, при коннекте к сокету кроссдомен запрашивается у демона сокета, а не просто дергается с домена. например:
|
|
|||||
|
Регистрация: Jul 2012
Сообщений: 148
|
Кроссдомейн отдается nginx-ом при запросе 843 порта
server {
listen 843;
server_name localhost;
location / {
rewrite ^(.*)$ /crossdomain.xml;
}
error_page 400 /crossdomain.xml;
location = /crossdomain.xml {
root /usr/local/www/crossdomain;
}
}
Переложил кросcдомейн на 843 порт. Т.е. теперь он отдается и без прямой ссылки на него, вот так Security.loadPolicyFile("ws.wsdomain.ru:843"); ... var websocket:WebSocket = new WebSocket("ws://ws.wsdomain.ru/server", "*"); Почему-то клиент лезет за кроссдомейником на 80й порт. #2048: Security sandbox violation: http://swfdomain.ru/test.swf cannot load data from ws.wsdomain.ru:80 Мне бы хоть один рабочий пример. Не знаю на кого грешить, на php сервер или на клиента. Как можно протестить? Последний раз редактировалось Vlad84; 07.08.2015 в 12:39. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 200
|
попробуйте вообще выкинуть Security.loadPolicyFile("ws.wsdomain.ru:843");
кроссдомейн и без этого будет клиентом запрашиваться |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 148
|
Решил проблему. Косяк был в том, что полиси-файл отдавался nginx-ом, а не вебсоккет сервером
![]() |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 200
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|