我一直在开发一个应用程序,该应用程序在两个JID之间建立的隧道上桥接http调用。我有我的隧道设置正确,但我不能弄清楚我应该如何使用HttpServer来服务请求。使用talk_base::HttpListenServer我可以接受连接:
server.Listen(talk_base::SocketAddress("127.0.0.1", 59000));
但是即使在附加了信号之后:
server.SignalHttpRequest.connect(this, &TunnelManager::HandleTouchRequest);
我不知道我应该如何回应这些请求。此时,请求只是在连接后挂起,没有明显的信号被调用。我想知道是否有更好的资源,可能是代码示例,让我看看得到一个工作的http服务器?
所以看起来在OSX上使用PhysicalSocketServer而不是平台特定的包装器可能会有问题。在解决问题之前设置正确的套接字服务器。显然我上面的用法是正确的。
talk_base::Thread::Current()->set_socketserver(new talk_base::MacCFSocketServer());
这似乎也修复了HttpClient的问题。