Я занимаюсь разработкой диалогового приложения MF C в VS2019 c ++. Приложение требует подключения нескольких android устройств в качестве клиента к серверу приложений windows через USB. Подключение нескольких устройств одно за другим при запуске приложения windows работает нормально. Но как только устройство отключается от USB и снова подключается, сервер не принимает клиента.
Я попытался использовать поток detach () только для клиентов accept () в фоновом режиме.
UINT CCheckDlg::bindAndListen(LPVOID Param)
{
while (true)
{
ClientSocket = accept(ListenSocket, NULL, NULL);
}
return 0;
}
Но этот l oop выходит из строя после 2 итераций, и пока этот l oop выполняется, другие операции пользовательского интерфейса приложения также блокируются.
Для клиентской стороны android, как только поскольку приложение android перехватывает socketExceptions, оно пытается повторно подключиться к серверу. Когда USB снова подключен, попытка продолжается.
Как получить поток в приложении windows, которое работает в фоновом режиме, принимая клиентов, без блокировки операций пользовательского интерфейса?