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

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

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

Регистрация: Sep 2010
Адрес: Владимир
Сообщений: 3
По умолчанию Глюк с сокетами

Написал сервер на C++ и клиент на as3, общающиеся по сокетам. Добавил туда пинги. Заметил, что задержка всегда кратна 10 (30, 40, 50 мс). В чем тут дело?
Вообще, где может крыться задержка при работе с сокетами в as3? Совершенно случайно наткнулся на метод flush, который необходимо использовать при записи. То есть метод, конечно, лежит на поверхности, но нигде почему-то (кроме описания самого метода, что довольно глупо) не сказано "обязательно используйте его!". Нет ли подобных подводных камней при чтении из сокета?
Другими словами: как обеспечить максимальное быстродействие при работе с сокетами в as?

Добавлено через 3 часа 25 минут
Заметил, что пакеты, которые должны приходить с разницей где-то в 100 мс, приходят разом (то есть считываются из сокета за одно срабатывание события SOCKET_DATA), причем с большой задержкой.
Тут проблема в сервере или событие вызывается с опозданием?


Последний раз редактировалось Thanat0s; 29.09.2010 в 22:42.
Старый 30.09.2010, 01:40
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Нет ли подобных подводных камней при чтении из сокета?
Нет. Ну или - не должно быть =)

Цитата:
Тут проблема в сервере или событие вызывается с опозданием?
Вызывайте flush на сервере (ну или его аналог). По поводу пакетов - это не пакеты, это порции данных. Эти понятия стоит разделять
__________________
...вселенская грусть

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

Регистрация: Sep 2010
Адрес: Владимир
Сообщений: 3
Ок, а что тогда понимается под словом "пакеты"? Или это понятие исключительно для низкоуровневых интерфейсов?

Старый 30.09.2010, 13:02
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
В моём понимании пакет - это порция данных с логическим концом. Например, сообщение в чат. Порция данных, которая полностью охватывает это сообщение. Порции данных же может как не хватить для пакета, так и быть с избытком.

(пойду погуглю что-ли, прав ли я)
Wiki:
Цитата:
Пакет данных — некоторое количество информации, организованное определённым способом, идущее по протоколу.
Я прав :P

Старый 30.09.2010, 13:06
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 5  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Порции данных надо принудительно проталкивать из буфера на сервере. Сам он этого не сделает до определенного момента, например пока буфер не заполнится.

Пакет - это порция данных на уровне протокола (причем пакет не обязательно содержит часть запрашиваемых или отсылаемых пользователем данных).

Порция данных с логическим концом - это порция данных с логическим концом (request/response)
__________________
скриптограф


Последний раз редактировалось orcpochta; 30.09.2010 в 13:17.
Старый 30.09.2010, 15:56
Thanat0s вне форума Посмотреть профиль Отправить личное сообщение для Thanat0s Найти все сообщения от Thanat0s
  № 6  
Ответить с цитированием
Thanat0s

Регистрация: Sep 2010
Адрес: Владимир
Сообщений: 3
Ну, выходит, я употребил слово верно.
Что касается отправки - мы так и не нашли, как проталкивать данные на сервере. Пришлось решать эту проблему через жопу - установкой маленькой длины буфера, чтоб они чаще отправлялись.

Старый 30.09.2010, 16:04
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 7  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Ну, выходит, я употребил слово верно.
никак не выходит

Добавлено через 1 час 39 минут
Цитата:
В моём понимании пакет - это порция данных с логическим концом. Например, сообщение в чат.
Цитата:
Пакет данных — некоторое количество информации, организованное определённым способом, идущее по протоколу.
Цитата:
Я прав :P
ты никак не прав
__________________
скриптограф

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

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

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


 


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


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