C++ C++/使用Poco库的IOS WebSocket
我最近开始使用Poco库(我认为这很好),我正在尝试创建一个服务器,也可以使用socket.io-websocket的ios应用程序进行连接。我已经成功地使用了一个节点JS实现来连接,但是需要C++实现。我已经在HandlerRequest方法中实例化了websocket,但不确定接下来的步骤是什么 任何帮助都将不胜感激C++ C++/使用Poco库的IOS WebSocket,c++,ios,poco,poco-libraries,C++,Ios,Poco,Poco Libraries,我最近开始使用Poco库(我认为这很好),我正在尝试创建一个服务器,也可以使用socket.io-websocket的ios应用程序进行连接。我已经成功地使用了一个节点JS实现来连接,但是需要C++实现。我已经在HandlerRequest方法中实例化了websocket,但不确定接下来的步骤是什么 任何帮助都将不胜感激 virtual void handleRequest(HTTPServerRequest &req, HTTPServerResponse &resp) {
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
}
}
}
}
virtualvoid handleRequest(HTTPServerRequest&req、HTTPServerResponse&resp)
{
字符缓冲区[16384];
WebSocket*ws=新的WebSocket(请求、响应);
//ws->setKeepAlive(false);
国际旗帜;
如果(!ws->poll(500,Poco::Net::Socket::SELECT_READ | | Poco::Net::Socket::SELECT_ERROR))
{
cout receiveFrame(缓冲区、sizeof(缓冲区)、标志);
如果(n>0)
{
if((标志和WebSocket::FRAME\u OP\u位掩码)==WebSocket::FRAME\u OP\u二进制)
{
//处理并发送给所有其他客户
}
}
}
}
下一步取决于您要做什么。一旦连接,您就有了一个开放的通道,可以用于浏览器和服务器之间的双向数据交换
有关详细信息,请参阅。下一步取决于您尝试执行的操作。一旦连接,您就有了一个开放的通道,可以用于浏览器和服务器之间的双向数据交换 有关详细信息,请参阅