QT/OSX Websocket打开握手时机
Qt/OSX WebSocket opening handshake timed out
i刚刚在QT中开发了一个使用WebSocket服务器(qwebsocketerver)的应用程序。我在Linux下进行了此操作,一切都很好,但是当我在Mac OS上运行代码时,我无法通过Chrome上的网页连接到服务器。
连接花了很长时间,几分钟后我从Chrome获得了WebSocket opening handshake timed out
。
最后,我回到了基础知识,并尝试了QT的示例:
http://doc.qt.io/qt-5/qtwebsockets-slechoserver-example.html
完全相同。
编辑:
删除SSL并使用非安全网络机器的工作起作用,即使在同一端口上也可以。
Mac上的ChromeChrome可以在遥控器(非MAC)计算机上访问安全的QT WebSocket服务器,但是在连接到Mac时,在遥控计算机时间上浏览了Chrome,因此似乎有些不对劲。QT QWEBSOCKECTERVER示例。它在Linux和Windows上都很好。
正在建立连接(因为该应用程序未运行或关闭,因为Web浏览器会立即失败),但是无论出于何种原因,它都无法完成。
知道这可能是什么,或者我该如何尝试跟踪?
谢谢!
作为qt文档(http://doc.qt.io/qt-5/qssslsocket.html)说:注意:MACOS上的安全传输SSL后端可以通过导入本地证书和键来更新默认键链(默认值为您的登录密钥链)。当您的应用程序使用这些私钥时,这也可能导致显示系统对话框并征求许可。如果不希望的行为,请将QT_SSL_USE_TEMPORARY_KEYCHAIN环境变量设置为非零值;这将促使QSSLSLSOCKETS使用自己的临时钥匙扣。
这里的问题似乎与MacOS的权限系统进行了一些交互。
您第一次运行应用程序并连接时,该应用将弹出一个窗口,要求使用权限访问您的钥匙扣(我想安装证书)。
如果您在此时关闭对话框,它将不会返回,并且似乎没有基于QTweBsockEcketerver的程序从那时起就可以运行,直到您重新启动!
- OSX MetalKit CVMetalTextureCacheCreateTextureFromImage失败,状态:
- OSX蓝牙打开RFCOMMChannelAsync声称已连接,但未建立连接,并且从未调用过委托
- 在OSX上使用CMake将Adobe的XMP工具包构建为共享库的最简单方法是什么?
- C ++是否有C ++ 17 OSX 10.13.6的标志
- 各种版本的 Mac OSX 向后兼容性如何?(Xcode C++
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- 在 OSX 上打开 SDL 窗口时不要打开终端窗口
- 如何在 OSX 10.15 中使用 Clang -Wno-nullability-completeness 选项编译整个
- 如何在OSX上导航到用户输入站点?
- 为什么OSX的条带不能去除弱符号?
- OSX Catalina 上的C++和宝石问题
- 找不到cmake和osx框架
- Xcode OSX上的C++构建失败,出现多个错误文件IO..不可用:在macOS 10.15中引入
- 如何在OSX上正确创建C++对象文件(.o)
- 在Linux(而不是OSX)中链接时发生库冲突
- 在OSx:ld上使用CMake构建C++项目:找不到体系结构x86_64的符号
- 让constexpr在OSX上的C++17中使用pow
- 如何在Mac OSX中获取真实的日历微秒时间(自1970年以来的纪元)?
- 如何在Mac OSX上的Qt中使用pkcs12 / pfx成功执行SSL加密?
- QT/OSX Websocket打开握手时机