Форум 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=197963)

Hitriy 16.04.2013 15:59

Работа с WebSocket через flash
 
Здравствуйте форумчане. Возникли у меня некоторые вопросы/трудности по этой технологии. Делаю он-лайн игру морской бой. В игру играют два человека, связь между клиентами на сервере сделали с помощью Web Socket-а. На сервере Web Socket работает исправно. Не могу с флешки подключиться к этому серверу.
Что делаю.
1 Из интернета скачал библиотеку https://github.com/mikechambers/as3corelib
2 импортировал библиотеки
3 откомпилировал и выполнил следующий код
Код AS3:

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("Error1: ", event.error);
});
ws.open("ws://www.youplay.biz", "www.youplay.biz");

В результате выполнения выскакивает ошибка:
Error: Wrong WebSocket handshake respons status: HTTP/1.1 200 OK

Возникли следующие вопросы:
1 необходимо ли для подключения вебсокетов использовать файлы политик?
2 может я что то делаю не правильно?
3 может кто то поделиться своим опытом работы с данным протоколом?

Заранее благодарен за ответы.

mikhailk 16.04.2013 17:36

Я использую библиотеку FlashSocket.IO:
https://github.com/simb/FlashSocket.IO

Она для флекса, поэтому я немного пошарил по форумам и нашел ее вариант для чистого AS3:
FlashSocket.IO_0.7.0-Alpha.swc

Что касается файла политик - да, нужно его отдавать по 843-му порту.

Hitriy 16.04.2013 17:48

тогда получается что бы получить файл политик мне достаточно будет перед соединением с сервером запрашивать его вот так?
Код AS3:

Security.loadPolicyFile("xmlsocket://youplay.biz:843");

или сервак на лету должен отдавать его по сокет соединению?

mikhailk 16.04.2013 18:18

Флеш его автоматически запросит, когда будет соединяться.
Ничего специально делать не надо.

Читать тут:
http://help.adobe.com/ru_RU/as3/dev/...8a9b90204-7c63

Добавлено через 8 минут
Цитата:

или сервак на лету должен отдавать его по сокет соединению?
У меня файлы политик отдает отдельный сервер.
Сам по себе висит на 843-м порту и отдает файлы политик.
Больше ничего не делает.


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

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