Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CSocket, определить что данные действительно отпр 
:(
    Опции темы
Step
Дата 28.5.2004, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Потоковое соединение...
Как определить что данные уже посланны и поток можно закрывать


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Baa
Дата 28.5.2004, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Чего-то я не пойму... Что значит потоковое соединение? Данные синхронно отправляются просто в другом потоке? Вопрос-то в чем, в синхронизации?


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Step
Дата 28.5.2004, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Потоковое -ТСП а не ЮДП
есть буфер длина 10000
сенд отправляет 5000
тутже вызываю сенд еще на 5000
поток не закрываю
клиенту приходит все
если после второго сенда я сразу вызываю СSocket::Close();
то клиенту приходит только 5000 тысяч + к этому ошибка

это происходит по след. причине пока первый сенд отправляет первую порцию я успеваю закрыть сокет... и в результате ошибка... по той простой причине что происходит попытка отправить вторую порцию с объекта не являющегося сокетом..... (сокета уже не существует, он закрыт)....
я привел упращенную схему.

прошу не советовать мне поставить задержку.....
так как количество порций в полной задаче изначально не известно..... как и количество данных...
Полная задача выгляди так:
1. генерируються данные, длина неизвестна
2. данные должны передаться на клиент
3. если генератор выставил флаг что генерация законченна то надо убедиться что клиенту отправленны все данные и закрыть сокет немедленно....

Кстати у этой задачи есть и обратная проблема
когда клиент принимает данные порциями то соединение со стороны сервера закрываеться гораздо раньше чем клиент успевает принять все данные.... но эта проблемма легко решаеться путем использования флага "Сервер закрыл соединения" и Флага "данных не найденно"


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Step
Дата 29.5.2004, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Поднимаю


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.