Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: masm + winsock  (Прочитано 6187 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MikeAD
Гость
« : 19-01-2005 12:38 » 

Уж простите за размер, но вот такой вот код:

Код:
.if бла-бла-бла
    ...
    .elseif uMsg == WM_SOCKET
    mov eax,lParam
    .if ax== FD_ACCEPT
    shr eax,16                           
    .if ax==NULL ;--2
                mov lpTxt, offset Stat2
    invoke SendMessage, hStatus, SB_SETTEXT, 0, lpTxt
            .else
                ;<an error occurs. Put your error handling routine here>
            .endif   ;--2
    .elseif ax==FD_READ
    shr eax,16
    .if ax==NULL ;--3
                ;<no error occurs so proceed>
                mov lpTxt, offset Stat4
invoke SendMessage, hStatus, SB_SETTEXT, 1, lpTxt
            .else
                ;<an error occurs. Put your error handling routine here>
            .endif    ;--3
         .elseif ax==FD_CLOSE
            shr eax,16
            .if ax==NULL ;--4
                ;<no error occurs so proceed>
                mov lpTxt, offset Stat5
invoke SendMessage, hStatus, SB_SETTEXT, 2, lpTxt
            .else
                ;<an error occurs. Put your error handling routine here>
            .endif
    .endif         

соответственно, при каждом событии на статусбаре hStatus должен отображаться текст, соответствующий Stat2, Stat4, Stat5 - но отображается только то, что происходит при соединении, то есть Stat2. Остальные нет. Причем, как мне кажется сокет работает правильно - при выключении сервера (а вся эта приблуди типа на сервере работает) все клиенты обрабатывают ошибу. Но вот остальные события - чтение, закрытие - никакой реакции не вызывают. Может и не обрабатываются... Или обрабатываются? Ниче не понимаю! Может кто поможет?
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 19-01-2005 15:55 » 

Как ты настраиваешь сокет?

Если WSAAsyncSelect, то с какими флагами настраивается сокет?

Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
MikeAD
Гость
« Ответ #2 : 20-01-2005 07:18 » new

Лыжи едут! Это я - *****нутый! Имеет смысл иногда высыпаться. Тогда поутру все начинаешь понимать яснее! Дело не в сокете, он все отрабатывает нормально! Дело в моем собственном идиотизме!  Жжешь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines