Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2016, 19:57   #1
sikilior
Новичок
Джуниор
 
Регистрация: 20.09.2016
Сообщений: 2
По умолчанию Клиент сервер Winsock + SDL. Форма клиента зависает - C++

Проблема клиета: Форма SDL зацикливаеться циклом while и создается менюшка с кнопками и текстом тут все хорошо.Winsock тоже зацикливается чтобы recv циклом while автоматом принимал сообщения тут тоже все хорошо.
Кагбе SDL надо зациклится while чтобы работала форма и кнопки и Winsock должен зациклится для автоприема сообщений. Нужно SDL и winsock поместить под 1 while! И тут начинается проблема под одним while они не хотят работать, зависает winsock функция recv! Часть зависающего кода ниже.

PHP код:
  if(Init() == false)         //тут инициализируеться SDL и Winsock о отправляет первый пустой пакет на сервер
    
{                                  //сервер отвечает пакет принят клиент подключен тут все ок.
    
mainupdate=true;         
        return -
1;                  
        }
    while(
running)             //цикл вайл отвечает за SDL форму и обработку клавы
    
{
        if(
mainupdate)    
        {
            
SDL_BlitSurface(backNULLscreen, &O);
            
MenuButton();                                         //создание кнопоки в SDL окне чтобы можна было нажымать 
            
SDL_Flipscreen );                                   //мышкой
            
mainupdate=false;
        }
                if((
recv!=0)                                                    //вот тут прога зависает на recv(sConnect, recvbuf, 128, 0);
                
{                                                                  //работать под одним вайлом SDL и Winsock не хочет
                
recv(sConnectrecvbuf1280);
                }
        
SDL_WaitEvent(&Event);                                   //обработка клавы кнопок
                
MenuEvent(&Event);
        
KeyEvent(&Event);
    }
    
Clear();
    return 
0
Хоть намекните как можно сделать winsock и SDL под одним вайлом!По отдельности работаю а вместе не хотят!

Последний раз редактировалось sikilior; 20.09.2016 в 20:04.
sikilior вне форума Ответить с цитированием
Старый 22.09.2016, 16:15   #2
sikilior
Новичок
Джуниор
 
Регистрация: 20.09.2016
Сообщений: 2
По умолчанию

Решено. Нужно использовать многопоточный вход.
sikilior вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinSock(клиент-сервер). Получение IP адресса клиента. qwertyk Работа с сетью в Delphi 3 28.06.2012 18:25
WinSock. Клиент и сервер. _PROGRAMM_ Работа с сетью в Delphi 0 01.11.2011 18:40
Winsock - создание клиента _PROGRAMM_ Работа с сетью в Delphi 6 29.10.2011 17:28
Клиент-Сервер на WinSock Onekey Работа с сетью в Delphi 1 21.08.2010 14:41
Клиент-Сервер на WinSock Вишенка Работа с сетью в Delphi 3 24.02.2010 00:45