powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / модели Winsock
13 сообщений из 38, страница 2 из 2
модели Winsock
    #34473396
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто мне хотелось бы использовать класс, имеющий удобный интерфейс для доступа к TCP. Например, например минимальный интерфейс с методами Start(), Stop() и перехватывать события примёма данных. Кстати интересно узнать, а кто как обрабатывает приём данных, читают по одному символу и обрабатывают событие чтения очередного символа или как-нибудь по другому?
...
Рейтинг: 0 / 0
модели Winsock
    #34473469
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите, какую нагрузку вы хотите обслужить?

В любом случае. по байтам читать не следует.
...
Рейтинг: 0 / 0
модели Winsock
    #34473505
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005Просто мне хотелось бы использовать класс, имеющий удобный интерфейс для доступа к TCP. Например, например минимальный интерфейс с методами Start(), Stop() и перехватывать события примёма данных. Кстати интересно узнать, а кто как обрабатывает приём данных, читают по одному символу и обрабатывают событие чтения очередного символа или как-нибудь по другому?

Если есть увереность, что два пакета в один не сольются, то читаю с заведомо большим размером.
Если такой уверености нет, то использую магическую последовательность (на битстаффинг пока положил ;)) для выделения пакетов из потока tcp.
...
Рейтинг: 0 / 0
модели Winsock
    #34473554
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заранее точно трудно предсказать нагрузку. Программа является одновременно TCP-клиентом - по TCP снимается данные с систем обработки данных (теоретических их может быть несколько) и сервером, обрабатывая запросы клиентских программ. Я думаю, вряд ли сервер будет обслуживать одновременно больше 10-20 соединений.
...
Рейтинг: 0 / 0
модели Winsock
    #34473576
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилСкажите, какую нагрузку вы хотите обслужить?

В любом случае. по байтам читать не следует.

А как читать принимаемые данные?
...
Рейтинг: 0 / 0
модели Winsock
    #34473600
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh OLEG_2005Просто мне хотелось бы использовать класс, имеющий удобный интерфейс для доступа к TCP. Например, например минимальный интерфейс с методами Start(), Stop() и перехватывать события примёма данных. Кстати интересно узнать, а кто как обрабатывает приём данных, читают по одному символу и обрабатывают событие чтения очередного символа или как-нибудь по другому?

Если есть увереность, что два пакета в один не сольются, то читаю с заведомо большим размером.
Если такой уверености нет, то использую магическую последовательность (на битстаффинг пока положил ;)) для выделения пакетов из потока tcp.

Не совсем понятно. Просто мне трудно представить ситуацию, когда можно быть уверенным, что два пакета в один не сольются.
...
Рейтинг: 0 / 0
модели Winsock
    #34473660
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005Не совсем понятно. Просто мне трудно представить ситуацию, когда можно быть уверенным, что два пакета в один не сольются.

Ну, допустим звук валится с частотой 50 Гц.
...
Рейтинг: 0 / 0
модели Winsock
    #34479843
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно, почему плохо читать данные побайтно? Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов.
Интересно узнать, как в этот случае обычно поступают?
...
Рейтинг: 0 / 0
модели Winsock
    #34479912
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов.
Интересно узнать, как в этот случае обычно поступают?

Как угодно:
1. Алгоритмы выделения сообщений.
2. Автомат потока данных.
...
...
Рейтинг: 0 / 0
модели Winsock
    #34480472
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh OLEG_2005Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов.
Интересно узнать, как в этот случае обычно поступают?

Как угодно:
1. Алгоритмы выделения сообщений.
2. Автомат потока данных.
...

Что вы подразумеваете под алгоритмом выделения сообщений и автоматом потоком данных?
Данные в этих случаях читаются побайтно или по несколько байт?
...
Рейтинг: 0 / 0
модели Winsock
    #34480504
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005 Akh OLEG_2005Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов.
Интересно узнать, как в этот случае обычно поступают?

Как угодно:
1. Алгоритмы выделения сообщений.
2. Автомат потока данных.
...

Что вы подразумеваете под алгоритмом выделения сообщений и автоматом потоком данных?
Данные в этих случаях читаются побайтно или по несколько байт?

Накопление буферов, анализ результата, сохранение остатков.
Тоже самое, думаю, что вы предпологаете для побайтового чтения, за исключением того, что в чтении блоком, будет иммитация, побайтового чтения.
Передается блок данных.
...
Рейтинг: 0 / 0
модели Winsock
    #34480582
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под побайтовым чтением я понимаю чтение одного байта, анализ данного символа и добавление его в буфер (принимаемого пакета). Не совсем понятно, когда вы говорите об имитации побайтового чтения в чтении блока. Если читать блоком, то возможно прочитать сразу данные из нескольких пакетов.
...
Рейтинг: 0 / 0
модели Winsock
    #34480670
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005Под побайтовым чтением я понимаю чтение одного байта, анализ данного символа и добавление его в буфер (принимаемого пакета). Не совсем понятно, когда вы говорите об имитации побайтового чтения в чтении блока. Если читать блоком, то возможно прочитать сразу данные из нескольких пакетов.

Ну, что тут не понятного? Ну допустим у вас есть функция, которая читает один байт из сокета. Ну, будет она читать не из сокета, а из некого класса, который будет читать блоком, если его буфер опустел. Или допустим у вас есть события, которые вызываются, когда приходит 1 байт. Тогда вы укажите другой обработчик, который будет в цикле дергать ваш для одного байта, передавая ему по очереди весь блок.
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / модели Winsock
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]