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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2010, 13:34   #1
i-cpp
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 33
По умолчанию Ожидание подключения к серверу.

Есть такой код (см. ниже), который прослушивает подключения к серверу. В результате его работы блокируется вся форма. Такой вопрос: как сделать чтобы прослушивание происходило, но форма не блокировалась и можно было при желании прервать ожидание?
Код:
if (listen(mysocket, 0x100) == SOCKET_ERROR )
	{
		ShowMessage("Ошибка ожидания подключений");
		btnDisconnect->Click();
	}
ShowMessage("Подождите пока к Вам подключатся");

SOCKET client_socket; // сокет для клиента
sockaddr_in client_addr; // адрес клиента (заполняется системой)
int client_addr_size = sizeof(client_addr);

client_socket = accept( mysocket, (sockaddr*) &client_addr, &client_addr_size );

Последний раз редактировалось i-cpp; 13.02.2010 в 13:59.
i-cpp вне форума Ответить с цитированием
Старый 13.02.2010, 16:14   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

У функции listen есть только блокирующий вызов. Но вы можете сделать обработку подключений и вообще работу с сокетом в отдельном потоке. Так форма будет в основном потоке, а сокеты - в дочернем.
MaTBeu вне форума Ответить с цитированием
Старый 13.02.2010, 23:15   #3
i-cpp
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 33
По умолчанию

спасибо за совет
i-cpp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ожидание завершения потоков Voody Общие вопросы Delphi 11 14.06.2016 06:10
Как скрыть значок определённого подключения из папки "сетевые подключения"? mr_alex Win Api 2 05.11.2009 10:40
ожидание внутри процедуры Juffin Общие вопросы Delphi 5 01.06.2009 13:52
Ожидание окончания вызванного процесса Johnson Win Api 11 16.07.2008 23:11