Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.02.2011, 18:18
Rave вне форума Посмотреть профиль Отправить личное сообщение для Rave Найти все сообщения от Rave
  № 1  
Ответить с цитированием
Rave
 
Аватар для Rave

Регистрация: Apr 2002
Сообщений: 77
По умолчанию Тонкости работы XMLSocket (AS3) и сервера раздачи XML Policy файлов (Java)

Разрабатываю клиент-серверную связку на AS3 - Java. При разработке все хорошо работает, но при тестах сторонними людьми иногда возникают не совсем понятные проблемы.

1. XML Policy сервер на 843 порте. Работает так, принимает соединение -> открывает InputStream, читает 23 байта или ждет таймаут 3 секунды. Если полученные 23 байта являются <policy-file-request/>\0, то отдаем XML, иначе пишем что-то другое и в обоих случаях закрываем соединение. Верна ли данная схема? К сожалению, иногда бывает такое, что flash клиент подключается на данный 843 порт и ничего не отправляет, как будто ждет XML без запроса. Понятное дело, что в таком случае он просто вылетает по тайм-ауту и клиент в итоге обламывается. В последней редакции сделал отправку XML без чтения запроса клиента. Вроде срабатывает всегда, но как-то это топорно.

2. Работа с XMLSocket. Использовалась следующая схема. XMLSocket подключается к серверу - сервер принимает коннект и отправляет клиенту пачку данных. Проблема в том, что у клиента не всегда срабатывает событие DataEvent.DATA, то есть первоначальная пачка данных от сервера не принимается. Пробовал сделать отправку данных клиентом (грубо говоря кусочек мусора) сразу после события Event.CONNECT, вроде стало лучше. Но опять же, не понимаю где скрыта проблема, согласно документации (как мне кажется), все нормально было и раньше.

Буду благодарен за размышления по этому вопросу

Старый 18.02.2011, 10:45
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 2  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
1. Мы давненько делали тесты с сокетами. Даже в голову не пришло, что можно читать данные запроса, сразу отдавали полиси. Топорнее чем ваш вариант, но других минусов не вижу.

2. Интересный глюк. А если на клиенте дожидаться соединения, то потом всегда данные приходят?

Старый 18.02.2011, 10:59
Rave вне форума Посмотреть профиль Отправить личное сообщение для Rave Найти все сообщения от Rave
  № 3  
Ответить с цитированием
Rave
 
Аватар для Rave

Регистрация: Apr 2002
Сообщений: 77
1. По поводу полиси сервера без чтения запроса, вроде все красиво, но такой возможный косяк. Сервер принимает коннект, (клиенту отправляется низкоуровневый TCP пакет), следом сервер отправляет XML и сразу закрывает коннект. Не будет ли следующей проблемы у клиента? Он устанавливает коннект, ждет, отправляет данные. В момент отправки клиентом <policy-file-request/>\0 соединение уже может оказаться закрытым (не знаю, как себя будет вести flash при этом). Будет ли он читать инпут в таком случае?

2. Событие Event.CONNECT у клиента означает попытку соединения или факт успешного соединения с сервром? Подумал, какие еще могут быть подводные камни.
2.1 сервер при коннекте клиенту в лоб без чтения его данных отправляет XML policy.
2.2 первый пакет от сервера имеет размер около 16кб. Может это многовато для XML Socket?

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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