![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Apr 2002
Сообщений: 77
|
Разрабатываю клиент-серверную связку на 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, вроде стало лучше. Но опять же, не понимаю где скрыта проблема, согласно документации (как мне кажется), все нормально было и раньше. Буду благодарен за размышления по этому вопросу ![]() |
|
|||||
|
1. Мы давненько делали тесты с сокетами. Даже в голову не пришло, что можно читать данные запроса, сразу отдавали полиси. Топорнее чем ваш вариант, но других минусов не вижу.
2. Интересный глюк. А если на клиенте дожидаться соединения, то потом всегда данные приходят?
__________________
Сам себе репортер |
|
|||||
|
Регистрация: 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, время: 03:54. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|