【问题标题】:Julia hangs on exceptions in HTTP WebSocket blockJulia 在 HTTP WebSocket 块中挂起异常
【发布时间】:2021-04-07 08:44:13
【问题描述】:

我是 Julia 新手,在侦听 WebSocket 流时尝试抛出异常时遇到了一些奇怪的行为。例如,下面的代码 sn -p 在打印连接消息后会永远挂起:

using HTTP

HTTP.WebSockets.open("wss://www.bitmex.com/realtime") do ws
    message = String(readavailable(ws))
    println(message)
    error("This is an error")
end

如果引用了未定义的变量,这也会冻结(这是我第一次遇到问题的方式)。

感谢您的帮助!

【问题讨论】:

    标签: http exception websocket julia


    【解决方案1】:

    经过一番调查,它看起来像是来自HTTP 包。 close 函数挂起,因为服务器一直在发送消息 (https://github.com/JuliaWeb/HTTP.jl/blob/2a03ca76376162ffc3423ba7f15bd6d966edff9b/src/WebSockets.jl#L237)。

    HTTP 切换到WebSockets 解决了这个问题:

    using WebSockets
    
    WebSockets.open("wss://www.bitmex.com/realtime") do ws
        data, success  = readguarded(ws)
        message = String(data)
        println(message)
        error("This is an error")
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多