Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Соединение через сокет

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
goshavt
Гость





СообщениеДобавлено: Ср Ноя 20 2002 00:07    Заголовок сообщения: Соединение через сокет Ответить с цитатой

Нужно соединить два компа с помощью сокетов, по соединению передаются различные данные (сообщения) в разные моменты времени, может быть ни одного, а может и сразу много.
Написал свой клас который это делает, но при передаче большого количества сообщений, сокет затыкается и освобождается через какой-то промежуток времени. Событие FD_WRITE обработано, но оно выскакивает не всегда, и как правило тогда когда надо его нет, а появляется позже. В чем лажа?
Вернуться к началу
butcher



Зарегистрирован: 18.04.2003
Сообщения: 467
Откуда: Киров

СообщениеДобавлено: Ср Ноя 20 2002 05:22    Заголовок сообщения: Re: Соединение через сокет Ответить с цитатой

Для чего и где ты используешь FD_WRITE? На клиенте или сервере, и какой тип соединения используется? SOCK_DGRAM или SOCK_STREAM ?
Скоре всего проблема в том что твой сокет блокируется.
_________________
Нет ничего невозможного...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
goshavt
Гость





СообщениеДобавлено: Ср Ноя 20 2002 09:49    Заголовок сообщения: Re: Соединение через сокет Ответить с цитатой

Есть три типа сокетов:
- сервер, который слушает(обрабатываестя только FD_ACCEPT;
- клиент, который подключается(FD_CONNECT,FD_READ,FD_WRITE,FD_CLOSE,FD_OOB);
- клиент, который создается сервером при подключении(FD_CONNECT,FD_READ,FD_WRITE,FD_CLOSE,FD_OOB);
т ип соединения SOCK_STREAM nonblocking.
При передаче выскакивает ошибка WSAEWOULDBLOCK, я её определяю и падаю в ожидание установки моего Eventa, который устанавливаю при срабатывание события FD_WRITE, но срабатывает таймаут, и я вываливаюсь с результатом ноль, а потом срабатывает событие FD_WRITE. Пробовал зацыклить или установить бесконечный таймаут, никакого толку.
Вернуться к началу
butcher



Зарегистрирован: 18.04.2003
Сообщения: 467
Откуда: Киров

СообщениеДобавлено: Ср Ноя 20 2002 23:30    Заголовок сообщения: Re: Соединение через сокет Ответить с цитатой

Т.е. как я понял сокет блокируется при попытке записи в него?
Если хочешь можешь послать на мыло исходник, только не большой по размеру, могет что подскажу... Просто тяжело так угадывать в чём там у тебя ошибка
_________________
Нет ничего невозможного...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...