![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Потоковое соединение...
Как определить что данные уже посланны и поток можно закрывать -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
Чего-то я не пойму... Что значит потоковое соединение? Данные синхронно отправляются просто в другом потоке? Вопрос-то в чем, в синхронизации?
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Потоковое -ТСП а не ЮДП
есть буфер длина 10000 сенд отправляет 5000 тутже вызываю сенд еще на 5000 поток не закрываю клиенту приходит все если после второго сенда я сразу вызываю СSocket::Close(); то клиенту приходит только 5000 тысяч + к этому ошибка это происходит по след. причине пока первый сенд отправляет первую порцию я успеваю закрыть сокет... и в результате ошибка... по той простой причине что происходит попытка отправить вторую порцию с объекта не являющегося сокетом..... (сокета уже не существует, он закрыт).... я привел упращенную схему. прошу не советовать мне поставить задержку..... так как количество порций в полной задаче изначально не известно..... как и количество данных... Полная задача выгляди так: 1. генерируються данные, длина неизвестна 2. данные должны передаться на клиент 3. если генератор выставил флаг что генерация законченна то надо убедиться что клиенту отправленны все данные и закрыть сокет немедленно.... Кстати у этой задачи есть и обратная проблема когда клиент принимает данные порциями то соединение со стороны сервера закрываеться гораздо раньше чем клиент успевает принять все данные.... но эта проблемма легко решаеться путем использования флага "Сервер закрыл соединения" и Флага "данных не найденно" -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Поднимаю
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |