|
|
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Просто мне хотелось бы использовать класс, имеющий удобный интерфейс для доступа к TCP. Например, например минимальный интерфейс с методами Start(), Stop() и перехватывать события примёма данных. Кстати интересно узнать, а кто как обрабатывает приём данных, читают по одному символу и обрабатывают событие чтения очередного символа или как-нибудь по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:18 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Скажите, какую нагрузку вы хотите обслужить? В любом случае. по байтам читать не следует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:33 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Просто мне хотелось бы использовать класс, имеющий удобный интерфейс для доступа к TCP. Например, например минимальный интерфейс с методами Start(), Stop() и перехватывать события примёма данных. Кстати интересно узнать, а кто как обрабатывает приём данных, читают по одному символу и обрабатывают событие чтения очередного символа или как-нибудь по другому? Если есть увереность, что два пакета в один не сольются, то читаю с заведомо большим размером. Если такой уверености нет, то использую магическую последовательность (на битстаффинг пока положил ;)) для выделения пакетов из потока tcp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:40 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Заранее точно трудно предсказать нагрузку. Программа является одновременно TCP-клиентом - по TCP снимается данные с систем обработки данных (теоретических их может быть несколько) и сервером, обрабатывая запросы клиентских программ. Я думаю, вряд ли сервер будет обслуживать одновременно больше 10-20 соединений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:51 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
ИзопропилСкажите, какую нагрузку вы хотите обслужить? В любом случае. по байтам читать не следует. А как читать принимаемые данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:54 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Akh OLEG_2005Просто мне хотелось бы использовать класс, имеющий удобный интерфейс для доступа к TCP. Например, например минимальный интерфейс с методами Start(), Stop() и перехватывать события примёма данных. Кстати интересно узнать, а кто как обрабатывает приём данных, читают по одному символу и обрабатывают событие чтения очередного символа или как-нибудь по другому? Если есть увереность, что два пакета в один не сольются, то читаю с заведомо большим размером. Если такой уверености нет, то использую магическую последовательность (на битстаффинг пока положил ;)) для выделения пакетов из потока tcp. Не совсем понятно. Просто мне трудно представить ситуацию, когда можно быть уверенным, что два пакета в один не сольются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 17:00 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Не совсем понятно. Просто мне трудно представить ситуацию, когда можно быть уверенным, что два пакета в один не сольются. Ну, допустим звук валится с частотой 50 Гц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 17:12 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно, почему плохо читать данные побайтно? Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов. Интересно узнать, как в этот случае обычно поступают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 12:10 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов. Интересно узнать, как в этот случае обычно поступают? Как угодно: 1. Алгоритмы выделения сообщений. 2. Автомат потока данных. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 12:30 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Akh OLEG_2005Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов. Интересно узнать, как в этот случае обычно поступают? Как угодно: 1. Алгоритмы выделения сообщений. 2. Автомат потока данных. ... Что вы подразумеваете под алгоритмом выделения сообщений и автоматом потоком данных? Данные в этих случаях читаются побайтно или по несколько байт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 14:41 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
OLEG_2005 Akh OLEG_2005Допустим есть протокол, со стратовым и стоповым байтом, если читать данные по несколько байто, то сильно усложнится разбор пакетов. Интересно узнать, как в этот случае обычно поступают? Как угодно: 1. Алгоритмы выделения сообщений. 2. Автомат потока данных. ... Что вы подразумеваете под алгоритмом выделения сообщений и автоматом потоком данных? Данные в этих случаях читаются побайтно или по несколько байт? Накопление буферов, анализ результата, сохранение остатков. Тоже самое, думаю, что вы предпологаете для побайтового чтения, за исключением того, что в чтении блоком, будет иммитация, побайтового чтения. Передается блок данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 14:47 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
Под побайтовым чтением я понимаю чтение одного байта, анализ данного символа и добавление его в буфер (принимаемого пакета). Не совсем понятно, когда вы говорите об имитации побайтового чтения в чтении блока. Если читать блоком, то возможно прочитать сразу данные из нескольких пакетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 15:02 |
|
||
|
модели Winsock
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Под побайтовым чтением я понимаю чтение одного байта, анализ данного символа и добавление его в буфер (принимаемого пакета). Не совсем понятно, когда вы говорите об имитации побайтового чтения в чтении блока. Если читать блоком, то возможно прочитать сразу данные из нескольких пакетов. Ну, что тут не понятного? Ну допустим у вас есть функция, которая читает один байт из сокета. Ну, будет она читать не из сокета, а из некого класса, который будет читать блоком, если его буфер опустел. Или допустим у вас есть события, которые вызываются, когда приходит 1 байт. Тогда вы укажите другой обработчик, который будет в цикле дергать ваш для одного байта, передавая ему по очереди весь блок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 15:17 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34473554&tid=2028989]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 390ms |

| 0 / 0 |
