Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Несколько вопросов по XMLSocket (http://www.flasher.ru/forum/showthread.php?t=202636)

albert.malik 30.07.2013 11:36

Несколько вопросов по XMLSocket
 
Здравствуйте!

Подскажите, пожалуйста, по ряду вопросов. Не совсем понятно, как флеш работает с данными из сокетов.

1) Работа с кодировками. В какой кодировке работает флеш?
2) Что нужно высылать в ответ на policy-file-request?
3) Как можно в каждом сообщении, передаваемом по сокету, определить его длину (например, когда посылаем просто пинг, то несколько сообщений "слипаются" в одно);

maincode 30.07.2013 12:21

1) по умолчанию флешь работает в кодировке Юникод, если задать значение System.useCodePage=true, то будет работать в кодировке стандартной для Операционной системы

2) выслать надо xml строку, формат которой описан здесь

3) Для нормальной работы класса XMLSocket, необходимо в конце каждого сообщения передавать нулевой байт \0

albert.malik 30.07.2013 12:32

Цитата:

Сообщение от maincode (Сообщение 1142316)
1) по умолчанию флешь работает в кодировке Юникод, если задать значение System.useCodePage=true, то будет работать в кодировке стандартной для Операционной системы

Подскажите, пожалуйста, а сколько байтов? Есть UTF16, UTF8

Спасибо большое за ответы на воспросы.

maincode 30.07.2013 13:31

По умолчанию utf8

albert.malik 31.07.2013 01:09

Чтобы не создавать новую тему, спрошу тут. Столкнулись с очередной проблемой:

Сервер передает флешу следующий xml:
Код:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domin-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" to-ports="5000" />
</cross-domain-policy>

После этого флеш на локальном компьютере выполняет переподключение и работает нормально
Флеш на удалённом компьютере отваливается и уже не реконнектится
Правильно ли составлен xml?

iNils 31.07.2013 01:15

Цитата:

Сообщение от albert.malik (Сообщение 1142386)
Чтобы не создавать новую тему, спрошу тут. Столкнулись с очередной проблемой:

Сервер передает флешу следующий xml:
Код:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domin-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" to-ports="5000" />
</cross-domain-policy>

После этого флеш на локальном компьютере выполняет переподключение и работает нормально
Флеш на удалённом компьютере отваливается и уже не реконнектится
Правильно ли составлен xml?

Один вопрос - одна тема. Сделайте новую тему.

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

Сообщение от maincode (Сообщение 1142316)
если задать значение System.useCodePage=true, то будет работать в кодировке стандартной для Операционной систем

Это очень плохой совет, никогда его не давайте и не используйте. Иначе, при другой кодировке системы, данные будут читаться с ошибкой.

maincode 31.07.2013 11:56

Цитата:

Сообщение от iNils (Сообщение 1142390)
Это очень плохой совет, никогда его не давайте и не используйте. Иначе, при другой кодировке системы, данные будут читаться с ошибкой.

Это не был совет, это был ответ на вопрос :)

iNils 31.07.2013 13:17

Цитата:

Сообщение от maincode (Сообщение 1142416)
Это не был совет, это был ответ на вопрос :)

Знаете как работает System.useCodePage = true? Если у меня данные в win1251, а система выставлена в win1251, то данные прочитаются нормально. А если система win1252 или юникод, то данные прочитаются как win1252 или юникод, то есть будут кракозябры. Только вот автор об этом не узнает, у него то данные читаются нормально.
В результате вы подложили автору свинью. Поэтому только юникод.


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

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