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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.04.2012, 15:11
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 1  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
По умолчанию чтение данных из сокета

в общем читаю строку из сокета обычным способом:
Код AS3:
_socket.readBytes(socketData);
но в первом сообщении приходят заголовки
Код:
HTTP/1.1 200 OK
Server: nginx/1.0.13
Date: Wed, 04 Apr 2012 10:05:58 GMT
Content-Type: text/html; charset=utf-8
Connection: close
Transfer-Encoding: chunked
я пока вставил костыль, но есть еще одна проблема: Transfer-Encoding: chunked вставляет в строки префиксы в которых указана длина строки... как сдвинуть "указатель", чтобы не читать эти префиксы... в документации написано что есть метод readUTF(), который "Считывает из сокета строку UTF-8. Предполагается, что в строку вставляется префикс с неподписанным коротким целым числом, указывающим длину в байтах." - казалось бы решение, но я не могу применить этот метод потому что вылетает ошибка 2030 найден конец файла, а что это значит я не понимаю

Добавлено через 1 час 4 минуты
_socket.readUTF(); выдает ошибку чьто найден конец файла, но если прочитать как поток байтов, то видно что в начале строки стоит 16-тиричный префикс указывающий длину строки... что я делаю не так??

Старый 04.04.2012, 16:39
Yahen вне форума Посмотреть профиль Отправить личное сообщение для Yahen Посетить домашнюю страницу Yahen Найти все сообщения от Yahen
  № 2  
Ответить с цитированием
Yahen

Регистрация: Jan 2012
Сообщений: 35
Все правильно.
Вы же через сокет http соединение читаете. Вот и заголовки. И конец файла от того же. Документ отдался сервером и соединение закрылось.
Такие вещи через URLLoader обычно читают.
__________________
----
Когда мне странно, то я заполняю книжку записей

Старый 04.04.2012, 16:41
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 3  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
у меня по несколько раз в секунду надо читать причем интервал может меняться... URLLoaderом прокатит?

Старый 04.04.2012, 16:47
Yahen вне форума Посмотреть профиль Отправить личное сообщение для Yahen Посетить домашнюю страницу Yahen Найти все сообщения от Yahen
  № 4  
Ответить с цитированием
Yahen

Регистрация: Jan 2012
Сообщений: 35
Конечно прокатит. Нагрузка на сервер а не на клиента. Вопрос справится ли сервер.
Вам серверную часть нужно переделать. Если требуется постоянный обмен информацией, то нужно открывать сокет с сервером и по нему общаться. Погуглите сокет-сервер. Вам станет понятнее зачем оно нужно.
__________________
----
Когда мне странно, то я заполняю книжку записей

Старый 04.04.2012, 16:53
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 5  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
как у УРЛлоадера делать флаш ? или он будет грузить пока не закончится память?

Добавлено через 2 минуты
проблема в том что серверную часть делаю не я... если бы делал я, сложностей не возникало бы =)

Старый 04.04.2012, 17:07
Yahen вне форума Посмотреть профиль Отправить личное сообщение для Yahen Посетить домашнюю страницу Yahen Найти все сообщения от Yahen
  № 6  
Ответить с цитированием
Yahen

Регистрация: Jan 2012
Сообщений: 35
Так стоп. Смешались в кучу кони, люди.
Начнем от печки.
Как работает интернет. Упрощенно и обрезано. Сначала компьютеры устанавливают физическое соединение друг с другом по заранее договоренному физическому протоколу. В Вашем случае это TCP. Потом по установленному соединению в рамках заранее оговоренного логического протокола происходит обмен данными. Для логического протокола http существует http сервер и URLLoader . Когда речь заходит о "чтении из сокета", то в рамка Flash это обычно означает, что Вы сами пишете сервер, и сами придумываете протокол логического обмена данными.
__________________
----
Когда мне странно, то я заполняю книжку записей

Старый 04.04.2012, 17:07
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 7  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
Цитата:
Сообщение от Yahen Посмотреть сообщение
Все правильно.
Вы же через сокет http соединение читаете. Вот и заголовки. И конец файла от того же. Документ отдался сервером и соединение закрылось.
Такие вещи через URLLoader обычно читают.
у меня соединение не обрывается...

Старый 04.04.2012, 17:09
Yahen вне форума Посмотреть профиль Отправить личное сообщение для Yahen Посетить домашнюю страницу Yahen Найти все сообщения от Yahen
  № 8  
Ответить с цитированием
Yahen

Регистрация: Jan 2012
Сообщений: 35
Цитата:
Сообщение от anmelegov Посмотреть сообщение
у меня соединение не обрывается...
Определитесь. Серверную часть делаете Вы или не Вы?
__________________
----
Когда мне странно, то я заполняю книжку записей

Старый 04.04.2012, 17:11
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 9  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
Цитата:
Сообщение от Yahen Посмотреть сообщение
Определитесь. Серверную часть делаете Вы или не Вы?
я уже написал выше что серверную часть делаю не я.... если на сокет повесить хендлер события клоуз, то он не срабатывает никогда значит соединение не рвется

Старый 04.04.2012, 17:17
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 10  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Пока либо вы, либо сервер не закроет соединение - оно будет активно, и можно слать/принимать данные, вы видимо че очень понимаете, что такое сокет.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

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

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


 


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


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