Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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



Ответ
 
Опции темы
Старый 20.09.2016, 20:57   #1
sikilior
Новичок
 
Регистрация: 20.09.2016
Сообщений: 2
Репутация: 10
По умолчанию Клиент сервер 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 в 21:04.
sikilior вне форума   Ответить с цитированием
Старый 22.09.2016, 17:15   #2
sikilior
Новичок
 
Регистрация: 20.09.2016
Сообщений: 2
Репутация: 10
По умолчанию

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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 01:45




09:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
таргетированный трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru