Я работал над приложением, которое соединяет http-вызовы через установленный туннель между двумя JID. Я правильно настроил туннелирование, но не могу понять, как я должен использовать HttpServer для обслуживания запросов. Используя talk_base :: HttpListenServer, я могу принимать соединения:
server.Listen(talk_base::SocketAddress("127.0.0.1", 59000));
Но даже после подключения сигнала:
server.SignalHttpRequest.connect(this, &TunnelManager::HandleTouchRequest);
Я понятия не имею, как я должен отвечать на запросы. На этом этапе запросы просто зависают после соединения без видимых сигналов вызова. Мне было интересно, есть ли какие-нибудь лучшие ресурсы, возможно, примеры кода, на которые я мог бы обратить внимание, чтобы получить работающий http-сервер?
Таким образом, похоже, что может быть проблема с использованием PhysicalSocketServer в OSX вместо платформы для конкретной платформы. Настройка правильного сервера сокетов, прежде чем что-либо еще решит проблему. Видимо, мое использование выше является правильным.
talk_base::Thread::Current()->set_socketserver(new talk_base::MacCFSocketServer());
Похоже, что это также исправило проблемы с HttpClient.
Других решений пока нет …