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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Сокеты на MFC  (Прочитано 9090 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Junk
Гость
« : 08-12-2004 06:16 » 

Хей, привет.

Есть проблемы с написанием сетевой программки: в MFC ни черта не понять, как работать с сокетами, а в API я уже запарился так подробно и нудно окна описывать.
Не подскажет ли кто-нибудь, как реализовать на MFC программу-сервер для приема UDP-пакетов?
Записан
PSD
Главный специалист

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

« Ответ #1 : 08-12-2004 08:11 » 

Не заморачивася, юзай из MFC  интерфеса API для сокетов и ни каких проблем ...
Записан

Да да нет нет все остальное от лукавого.
Junk
Гость
« Ответ #2 : 09-12-2004 06:30 » 

Ну это легко сказать: используй в MFC API, а куда же весь код для инициализации и вызова сокетов вставлять? Ведь для асинхронного вызова таких например событий, как чтение или запись в сокет нужно описывать реакцию Windows на эти события:
switch(message)
case WM_SOCKET:
               FD_READ
               FD_WRITE
Записан
PSD
Главный специалист

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

« Ответ #3 : 09-12-2004 06:47 » 

Рашьше ты это делал в WinProc?
WinProc в MFC никуда не делась ...просто там она при судствует не явно.
Отсуда   варианты
1) вытащить ее на белый свет и просто вставить туда нужные команды.
2)Описать для окна события WM_SOCKET и протащить их через механизм MFC  это не самый прямой путь но  тоже работает . Собственно в этом случае они всеравно попадут в WinProc так как MFC сонструирует ее посредством макросов непостредственно перед компиляцией.
Записан

Да да нет нет все остальное от лукавого.
Junk
Гость
« Ответ #4 : 10-12-2004 06:38 » 

И как, если конкретнее, это делается?
Записан
maa
Участник

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

WWW
« Ответ #5 : 16-05-2005 11:13 » 

------- *.h
     enum { MSG_WSA_ASYNC = WM_USER + 0x101 };
     afx_msg LONG OnWsaAsyncMsg (UINT sock, LPARAM lp);
------- *.cpp
     ON_MESSAGE(MSG_WSA_ASYNC, OnWsaAsyncMsg)
     ::WSAAsyncSelect ( Sock, hWnd, MSG_WSA_ASYNC, lEvent );
Class::OnWsaAsyncMsg ()
{
}

« Последнее редактирование: 16-05-2005 11:14 от maa » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines