我正在尝试连接到 Echo Test Websocket使用Poco C++ 库。 为此,我的代码应设置 Websocket:
HTTPClientSession cs("echo.websocket.org");
HTTPRequest request(HTTPRequest::HTTP_GET, "/ws");
HTTPResponse response;
WebSocket* m_psock = new WebSocket(cs, request, response);
m_psock->close(); //close immidiately
但是它不起作用: 我收到如下错误消息:
Poco::Exception: WebSocket Exception: Cannot upgrade to WebSocket connection: Not Found
有人可以帮忙吗?
最佳答案
“Not Found”错误是 HTTP 服务器返回的标准 HTTP 404 Not Found。这通常意味着您请求的资源不存在。
我通过将资源从 "/ws"
更改为 "/"
使您的代码正常工作:
HTTPRequest request(HTTPRequest::HTTP_GET, "/");
并添加以下行
request.set("origin", "http://www.websocket.org");
在创建新的WebSocket
之前。我认为这是许多(或所有?)WebSocket 服务器所期望的 header 对。
关于c++ - 将 Websocket 与 Poco 库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18532388/