информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[Win32] А я аот еще хотел спросить... 19.07.01 21:31  Число просмотров: 863
Автор: ggg Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Есть ли отличия WaitForMultipleObject И
> WSAWaitForMultipleEvents? А то инфы по этому вопросу я
> нашел очень мало.

а с чего ты решил что они должны быть похожи ?
<programming>
[Win32] Поможите с сокетами 19.07.01 01:58  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Проблема следующая: имеется неблокирующий сокет, который связан с eventом посредством ф-ции WSAEventSelect так вот сама проблема. Когда я принимаю даные с локальной программы(POP3 сервера) то часть из них проглатывается ибо отсылает он нужный блок несколькоми пакетами и соответственно надо как-то это дело принять причем event срабатывает настолько быстро что сбрасывая текущее событие уже приходит новое и получается так что сбрасывается и следующее соответственно блок еще не принят а ф-ция WaitFoeMultipleEvents не срабатывает.
Вот мой кусок кода:

#define RECIEVE(buf,okstr)\
{\
buf[0]=0;\
stats=WaitForMultipleObjects(2,lpEvents,FALSE,m_timeout);\
switch(stats)\
{\
case WAIT_OBJECT_0: goto goto_on_stop;\
case WAIT_OBJECT_0+1 : ResetEvent(lpEvents[1]);\
break;\
default: goto goto_on_error;\
}\
iTmp = recv(s, buf, sizeof(buf), NULL);\
if (iTmp == SOCKET_ERROR)goto goto_on_error;\
buf[iTmp]=0;\
if (strstr(buf,okstr)==NULL)goto goto_on_error;\
}

может кто подскажет че-нить
[Win32] Поможите с сокетами 19.07.01 04:58  
Автор: ggg Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Вот мой кусок кода:
> stats=WaitForMultipleObjects(2,lpEvents,FALSE,m_timeout);\
> switch(stats)\
> {\
> case WAIT_OBJECT_0: goto
> case WAIT_OBJECT_0+1 :


для сокетов есть WSAWaitForMultipleEvents
не знаю может она и может быть заменена WaitForMultipleObjects() но я этого нигде в SDK не видел
[Win32] Поможите с сокетами 19.07.01 02:22  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
если есть проблема в "неуспевании", то юзай AutoReset Event.
вот тут
> stats=WaitForMultipleObjects(2,lpEvents,FALSE,m_timeout);
он поставит Event на Non-Signaled state.

а вообще подобного рода задача решается немного по другому. для этого есть очень полезная штука: WSAEnumNetworkEvents()
почитай об этом. он сделает тебе ресет, и еще вернет статус сокета.

удачи
[Win32] А я аот еще хотел спросить... 19.07.01 11:05  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Есть ли отличия WaitForMultipleObject И WSAWaitForMultipleEvents? А то инфы по этому вопросу я нашел очень мало.
[Win32] А я аот еще хотел спросить... 19.07.01 21:31  
Автор: ggg Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Есть ли отличия WaitForMultipleObject И
> WSAWaitForMultipleEvents? А то инфы по этому вопросу я
> нашел очень мало.

а с чего ты решил что они должны быть похожи ?
еще как похожи :))) 20.07.01 01:10  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Есть ли отличия WaitForMultipleObject И
> > WSAWaitForMultipleEvents? А то инфы по этому вопросу я
> > нашел очень мало.
>
> а с чего ты решил что они должны быть похожи ?

я такое уже делал не раз. и даже такое :

WSAEVENT hEvent = WSACreateEvent();
...................
::MsgWaitForMultipleObjects(1, &hEvent : NULL, FALSE, m_nTimeout, QS_ALLEVENTS);

работают как часики :)))

Event - это объект ядра. нет такого, чтобы для App это был один, а под Сокеты другое. это монопенисные вещи !
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach