Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Канал для непрерывного обмена данными с сервером (http://www.flasher.ru/forum/showthread.php?t=119888)

TimID 05.01.2009 12:07

Канал для непрерывного обмена данными с сервером
 
Каким образом можно организовать канал обмена данными с сервером в непрерывном режиме, то есть без разрыва соединения. XMLRequest и прочие расчитаные на одноразовые соединения - не подходят.

Меня интересует возможность пересылки пакетов в обе стороны по таймингу (до 10 в секунду). В одну сторону (от клиента) "управление", в другую (от сервера) - "снимок мира".

Цель - сетевая игра.

kackbip 05.01.2009 12:13

http://livedocs.adobe.com/flash/9.0/main/00000318.html

dimarik 05.01.2009 16:34

Используйте Socket либо XMLSocket класс.

TimID 05.01.2009 16:51

О, мерсибо всем.

2d, в TZ используется пакетная передача? Или у вас сеансовый протокол?

BlooDHounD 05.01.2009 17:17

TimID, везде пакетная. "не пакетной" не бывает.

DarkLight 05.01.2009 18:16

XMLSocket лучше не использовать для нагрузок типа 10 сообщений/секунда, Socket оптимален

dimarik 05.01.2009 22:01

TimID, в TZ используется постоянное соединение. Простите, не очень втыкаю в термин "пакетная передача". Т.к. что в сеансовой, что в "пакетной" передаются именно пакеты-дейтаграммы. Только в первом случае сокет закрывается (при определенных условиях может оставаться открытым). А лучше проштудируйте ISO-OSI.

DarkLight, на чем такая уверенность основывается?

DarkLight 05.01.2009 22:15

На личном опыте: частые отправки сообщений приводят к возможности попарной склейки при передаче, и дропа 2го из склеившейся пары при работе с XMLSocket. На локалхосте может и не возникать, по локальной сети и при работе через Интернет баг стабильно воспроизводился. И еще некоторые проблемы возникали с XMLSocket. Пришлось писать свою реализацию поверх Socket.

dimarik 05.01.2009 22:22

Т.е. из-за бага в реализации XMLSocket для AVM2? Под AVM1 такого никогда не наблюдал.

DarkLight 05.01.2009 22:33

Под AVM1 не проводил нагрузочного тестирования. Под AVM2 большие мессаджи разваливаются на 2 части с дропом 1ой из них, частые маленькие - склеиваются парами и даже при большой частоте в единичных случаях тройками, бывало и то и то сразу (дропается 1ая половина большого сообщения, 2ая полвина склеивается с последующим маленьким, в результате чего дропается и маленькое). О надежности оставалось только мечтать. По ощущениям, xmlsocket базируется в avm2 на тупом вызове чтения строки при наличии в сообщении нулевого символа. Все, что оказалось после нулевого символа, игнорируется. Извраты со склейкой/распадом - не вина клиентсайда или серверсайда и происходят при передаче по Сети.


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

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