使用 Poco 库的 C++/IOS Websockets

C++/IOS Websockets using the Poco Library

本文关键字:IOS Websockets C++ Poco 库的 使用      更新时间:2023-10-16

我最近开始使用Poco库(我认为很棒),并且我正在尝试使用 socket.io - websocket的ios应用程序创建一个服务器来连接。我已经设法使用节点 js 实现进行连接,但需要一个C++实现。我已经通过在handleRequest方法中实例化websocket来说明,但不确定下一步是什么......

任何帮助将不胜感激。

virtual void handleRequest(HTTPServerRequest &req, HTTPServerResponse &resp)
{
   char buffer[16384];
   WebSocket* ws = new WebSocket(req, resp);
   //ws->setKeepAlive(false);
   int flags;
   if (!ws->poll(500,Poco::Net::Socket::SELECT_READ || Poco::Net::Socket::SELECT_ERROR))
   {   
      cout << ".";
   }   
   else
   {   
       int n = ws->receiveFrame(buffer, sizeof(buffer), flags);
       if (n > 0)
       {   
           if ((flags & WebSocket::FRAME_OP_BITMASK) == WebSocket::FRAME_OP_BINARY)
           {   
               // process and send out to all other clients
           }   
       }   
   }   
}

后续步骤取决于您要执行的操作。连接后,您将拥有一个开放的通道,可用于浏览器和服务器之间的双向数据交换。

有关详细信息,请参阅 WebSocketServer 示例。