HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Посмотрите и поправте хто умеет
  #1  
Старый 09.08.2007, 12:15
Dimi4
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме:
7617458

Репутация: 3965


По умолчанию Посмотрите и поправте хто умеет

Так как я с Украины прога на украинском.
Прога чат.
http://slil.ru/24717952
сдесь исходники
Так вот у меня проблема.
Когда человек коннект к другому то писать он может
А второй нет(выдает ошибку)
Прога на асме
Поправте плз.. кто может
Ошибка скорее всего в "connect.asm"(а где ей исчо быть?)
Надеюсь на ачат
----------------------
одна голова хорошо - а ачат лучше
 
Ответить с цитированием

  #2  
Старый 10.08.2007, 18:40
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
Post

Итак...
Код:
invoke WSAAsyncSelect, hSocket2, hWnd,WM_SOCKET, FD_ACCEPT+FD_READ
А FD_CLOSE кто будет обрабатывать?

Вот где сама проблема:
Код:
FD_ACCEPT:...
                                 invoke accept,hSocket2,0,0
                                 mov hClient,eax
Не хватает после этого добавить:
Код:
invoke WSAAsyncSelect, eax, hWnd,WM_SOCKET, FD_ACCEPT+FD_READ+FD_CLOSE
для обработки событий от клиентского сокета.

Ещё здесь исправить:
Код:
FD_READ:...
                                invoke recv, hClient, addr BytRecu, 1024,0
                                .....
                                invoke lstrlen, addr BytRecu
                                .....
Зачем получать количество полученных байт через lstrlen, если после вызова функции recv, количество полученных байт будет в eax? Но это не главное... Проблема в дескрипторе сокета, из которого ты пытаешься читать. Надо читать не из hClient, т.к. дескриптор сокета хранится в wParam (передаётся с сообщением WM_SOCKET).
Вот так правильно:
Код:
invoke recv, wParam, addr BytRecu, 1024,0
С FD_CLOSE тоже самое... Надо так:
Код:
invoke closesocket, wParam
P.S. Тебе надо ещё доделать сам чат.
P.P.S. Полезная ссылка по теме
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А хто умеет работать с AMS Enterprise 2.72?? Mater Уязвимости Mail-сервис 0 28.03.2007 14:26



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.