![]() |
|
Модераторы: feodorv |
![]()
|
|
| azesmcar |
|
||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
я говорил не о работе стека, а о том чтобы не читать по нескольку раз.
Я никогда и ни перед кем не оправдываюсь..
а в содержимом внутреннего буфера сокет что если не сообщение?
я не утверждал обратного, но "как-то" может быть быстро и медленно. Мне желательно сделать быстро..во всяком случае насколько это возможно. |
||||||||
|
|||||||||
| vinick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 9.6.2005 Репутация: 6 Всего: 22 |
Там может быть 1 сообщение, 10 сообщений, половина сообщения, конец первого сообщения и начало второго. в общем там может быть что угодно.
Если у тебя не InfiniBand, то скорость передачи по сети на порядки будет отставать от самого медленного метода извлечения сообщения из сокета. Так что особый фанатизм в такой оптимизации ИМХО излишен. Попробуй, добавлять перед сообщением его длинну. Пара-тройка байт особой погоды в передаваемом объеме не сделают, а вытаскивать сообщения будет гораздо удобнее, да и быстрее, чем ловить маркер конца сообщения. |
|||
|
||||
| azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
мне все равно, они парсятся в очередь конкретных сообщений..
задержка на извлечении одного сообщения - задержит обработку, а следовательно и ответ на сообщение другого пользователя. Так что не совсем излишен. Правда речь не о фанатизме, если не найду другого способа, сделаю как знаю.
У меня так и сделано. Но если в заголовке написано что сообщение длиной в 30Кб, это не значит что я прочитаю их все. Я просто не хочу читать маленькими кусками. Уже написал класс для буфферизации сообщений..читаю сколько нужно, если в буффере недостаточно (recv вернул меньше чем нужно) жду следующего события. Как наберется - конвертирую в сообщение, передаю обработчику. |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |