Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   WebSocket и Flash, могут дружить? (http://www.flasher.ru/forum/showthread.php?t=144464)

xdoom 13.09.2010 12:38

WebSocket и Flash, могут дружить?
 
В сети полно доков как поднять WebSocket сервер, а как настроить flash на исползование такого сервера?

Это реально вообще?
А то отсутствие доков как это делать со стороны флеша тему заставляют думать что нет.

Спасибо!

etc 13.09.2010 13:40

Я думаю, поддержку оного придется реализовывать обычным Socket.

xdoom 15.09.2010 06:34

Спасиб @etc

почитал Хабр.
нашёл готовые классы...
http://github.com/y8/websocket-as/tr...05f355d0e0e3cf
Код AS3:

import y8.net.WebSocket;
 
var ws:WebSocket = new WebSocket();
 
ws.addEventListener("open", function():void {
  trace("Connection opened");
  ws.send("Hello from flash!");
  ws.close();
});
 
ws.addEventListener("close", function():void {
  trace("Connection closed");
});
 
ws.addEventListener("message", function(event:*):void {
  trace("Message: ", event.data);
});
 
ws.addEventListener("error", function(event:*):void {
  trace("Error: ", event.error);
});
 
ws.open("ws://socket.example.com/path", "http://myapp.example.com");

только пришлось поправить чтоб адресс был "ws://socket.example.com/path:8043"
а то класс URI не вытаскивал порт из строчки.
Код AS3:

this.uri = new URI(uri);
this.port = Number(this.uri.port) || 80; //80 is default port

всегда 80

класс грузит crossdomain.xml из
log: http://socket.example.com.ru:80/crossdomain.xml
Код:

<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
<site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>

из FlashBilder всё работает прекрасно. из любого другого места
Код:

Error #2048: Нарушение изолированной среды
вот осталось только разобраться почему, и всё.

etc 15.09.2010 10:49

SecurityError потому что надо отдавать кроссдоменник по порту 8043 или 843.

xdoom 15.09.2010 12:17

ок, спасибо, всё заработало.


Часовой пояс GMT +4, время: 07:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.