【问题标题】:Can't connect to Oat++ with other WebSocket libraries无法使用其他 WebSocket 库连接到 Oat++
【发布时间】:2021-07-27 22:12:16
【问题描述】:

Oat++ 是否支持 RFC 6455 WebSocket 协议?

我尝试通过 js 和 QWebSocket (qt) 从浏览器连接到 Oat++ WebSocket 服务器,但它们没有连接。

【问题讨论】:

  • 这个页面说 oat++ 确实支持 RFC 6455 并列出了几个替代方案:en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations
  • @mmjvox 如果您能提供有关如何运行/配置 Oat++ 服务器的详细信息并显示未连接到它的客户端代码,将会很有帮助。
  • 我使用了示例中存在的 Oat++ websocket 服务器。在客户端ws://localhost:8000 没有打开和断开连接,然后我尝试在http://localhost:8000/ws 上打开套接字。
  • 使用 Wireshark 记录连接成功和无法连接两种情况下发送和接收的数据包,看看它们在这两种情况下有何不同,可能会有启发。

标签: c++ websocket oat++


【解决方案1】:

要连接和测试 oat++ 和其他 WS 服务器,您可以尝试使用此在线客户端:

https://www.websocket.org/echo.html - 用于 WSS
http://www.websocket.org/echo.html - 用于 WS

另外,请确保连接到正确的端点

【讨论】:

  • 我连接到 websocket url 时没有日志或错误。但是当我更改网址时,我已经断开了日志。我没有任何防火墙,所有其他 websocket 服务器和客户端都工作正常。 oatpp 的 websocket 服务器仅适用于 oatpp 的客户端。我从它自己的例子中运行了服务器。我找不到任何其他示例,我还没有完全阅读文档。你有 oatpp 中有用的 websocket 服务器示例来测试吗?
  • 这是一组 oatpp websocket 示例 - github.com/oatpp/example-websocket
  • 这个例子是我使用过的,但不能与其他网络套接字客户端一起工作。
  • 您的操作系统是什么,您要运行 WS 示例集合中的哪个示例项目?
  • 这是我的工作:我以简单的服务器示例 - github.com/oatpp/example-websocket/tree/master/server,运行它。转到websocket.org/echo.html,输入位置 - ws://localhost:8000/ws,然后按“连接”。
猜你喜欢
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多