![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
mezmay |
![]() ![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: ![]() ![]() ![]() |
создаю сокетный сервер, запускаю:
при установлении соединения все стандартно:
при получении пакета:
Все стандартно. Будет ли функция получения корректно работать со многими одновременно подключенными клиентами, то есть возможна ли ситуация когда пакет от одного клиента разобьется на части и между ними попадет пакет от другого клиента, или сокеты (Windows) такого не допускают? Сообщение отредактировал mezmay - 30.8.2012, 14:14 |
|
|
sidsukana |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Такого не произойдет никогда. Сокет это дверь - 1 клиент всегда будет ходить через 1 дверь, 2 клиент всегда будет ходить через 2 дверь.
Стоп, код не прочитал ![]() Сообщение отредактировал sidsukana - 30.8.2012, 14:11 |
|
|
Алексей1153 |
![]()
Сообщение
#3
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
при TCP-соединении устанавливается связь между двумя сокетами и туда никак сам по себе не может вклиниться пакет из другого сокета (вирусную активность не принимаем во внимание
![]() другое дело, что пакет может придти кусками (однако порядок кусков будет правильный - их можно накопить в приёмном буфере), поэтому каждое соединение свои куски может принимать поочерёдно с другими соединениями . Решение о том, что весь пакет в соединении полностью допринят и готов для дальнейшей обработки принимаешь ты в своём коде Сообщение отредактировал Алексей1153 - 31.8.2012, 7:42 |
|
|
mezmay |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: ![]() ![]() ![]() |
каждое соединение свои куски может принимать поочерёдно с другими соединениями тогда наверное можно сделать так?:
Сообщение отредактировал mezmay - 31.8.2012, 9:14 |
|
|
Алексей1153 |
![]()
Сообщение
#5
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
тогда уж так
![]()
к вектору сокета будут добавляться новые данные (в конец) , а анализ готовых данных нужно производить с начала вектора (и с начала же удалять обработанное) Анализ и удаление можно производить в другом потоке (но не забывай про синхронизацию) |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.7.2025, 12:09 |