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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сонный read и оповещение его о смерти сокета 
:(
    Опции темы
exceilence
Дата 14.11.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.6.2009
Где: Москва

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



Как оповестить read которые ждёт данных из сокета о том, что сокет закрыли?

Если б я не видел, что read узнаёт об этом когда я жму на крестик!!  и возвращает неположительное значение, то не поднгимал бы тему




если я закрываю сокет на той стороне то тут рид так и спит    
когда закрываю прогрмаау exit(0)  то тип-топ   и рид рвётся



Давайте, пацанчики, жду ваши домыслы.   В крайнем случае буду посылать нулевую структуру....   и тогда уж 100% реад не пропустит


Это сообщение отредактировал(а) exceilence - 14.11.2009, 11:40
PM MAIL   Вверх
hente
Дата 14.11.2009, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.3.2009
Где: Томск

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



чота как-то похабно прозвучало:
Цитата

Давайте, пацанчики, жду ваши домыслы.   В крайнем случае буду посылать нулевую структуру....   и тогда уж 100% реад не пропустит

Вам не кажется?
--------------------
  долой быдло кодеров!!!
PM MAIL   Вверх
exceilence
Дата 14.11.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.6.2009
Где: Москва

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



да, хорошо подмечено.

Но как говорят, "хоть горшком назови, только в рот не бомби".
То есть суть остаётся.

Не цепляйтесь к словам. 

После хентая всё кажется похабным, не так ли, hente.

Это сообщение отредактировал(а) exceilence - 14.11.2009, 14:26
PM MAIL   Вверх
MAKCim
Дата 14.11.2009, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 84
Всего: 207



exceilence, 
Цитата(exceilence @  14.11.2009,  11:39 Найти цитируемый пост)
если я закрываю сокет на той стороне то тут рид так и спит    
когда закрываю прогрмаау exit(0)  то тип-топ   и рид рвётся

пацанчик
проверь счетчик ссылок на дескрипторе сокета ;)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
exceilence
Дата 14.11.2009, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.6.2009
Где: Москва

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



про проверку ссылок на сокет... 
если клиент отключится, то сервак с ридом будет ССылаться. 
Он ведь не закрывал. 


Подумав тут я предположу, что при проверке количества некая функция проверит есть ли ссылающийся на локальной машине и потом "пропингует" как-то удалённого.  Или при разрыве уже будет знать система количество ссылающихся.

Вобщем если ссылаюсь только я то тогда надо рид оброубать.   В итоге надо пускать ещё тред-проверщик количества ссылающихся!!!!!!!!

Я думаю что за много лет для этой цели уже есть сигнал на подобии SIGPIPE.

-----------------------
PS
Я это дело замутил на посылая обнулённое сообщение.
Товарищ мне сказал, что так делают в нормальных программах (моя, естественно, делается таковой).



PM MAIL   Вверх
MAKCim
Дата 14.11.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 84
Всего: 207



exceilence, 
прочитай что-нибудь по сетям в общем ;)
я уже в предыдущем топике писАл, что при нормальных условиях read() не может блокироваться, если соединение закрыли с другой стороны

Добавлено через 1 минуту и 2 секунды
Цитата(exceilence @  14.11.2009,  22:14 Найти цитируемый пост)
Я это дело замутил на посылая обнулённое сообщение.
Товарищ мне сказал, что так делают в нормальных программах (моя, естественно, делается таковой).

бред


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
exceilence
Дата 14.11.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.6.2009
Где: Москва

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



после слова "бред" как-то настроение подгадилось

Цитата

я уже в предыдущем топике писАл, что при нормальных условиях read() не может блокироваться, если соединение закрыли с другой стороны


он СНАЧАЛА блокируется, а потом уже закрывают сокет за бугром.

Вобщем новым тредом проверять число ссылающихся на дескриптор сокета...........   пока только такой небредовый вариант.

Ладно

погоняю лысого, если дойдут руки сделать без посылки обнуленного сообщения, то напишу








PM MAIL   Вверх
MAKCim
Дата 14.11.2009, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 84
Всего: 207



Цитата(exceilence @  14.11.2009,  23:08 Найти цитируемый пост)
он СНАЧАЛА блокируется, а потом уже закрывают сокет за бугром.

слушай, тебе подробно объяснить, как происходит разблокрование read()?
в общем учить матчасть!


Цитата(exceilence @  14.11.2009,  23:08 Найти цитируемый пост)
после слова "бред" как-то настроение подгадилось

уж извини, но это правда


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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