如何在Julia中编写WebSocket客户端?

时间:2016-09-06 00:28:42

标签: websocket julia

我想通过Julia连接到WebSocket。我试图从wss://echo.websocket.org得到回声响应,但它似乎没有像我预期的那样响应。有趣的是,它似乎确实连接了,而无效的地址则不会。

julia> client = connect("echo.websocket.org", 443)
TCPSocket(open, 0 bytes waiting)

julia> println(client, "Hello, world!")

julia> readline(client)
""

有可能实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

无法通过打开套接字并直接读取和写入来实现Web套接字客户端。需要实现一个相当复杂的协议。此外,websocket客户端意味着接收推送请求,因此需要某种方式来异步处理它们。

在Julia中实现了一个websocket客户端库:https://github.com/dandeliondeathray/DandelionWebSockets.jl

要安装它,请执行:Pkg.clone("https://github.com/dandeliondeathray/DandelionWebSockets.jl")

使用它涉及为网络事件定义事件处理程序。请在此处查看使用echo:https://github.com/dandeliondeathray/DandelionWebSockets.jl/blob/b23307f360ef0b62e3064c6b1484599eb660f63f/examples/echo.jl

的示例

答案 1 :(得分:2)

现在有一个特定的库https://github.com/JuliaWeb/WebSockets.jl。示例/ chat.jl和examples / chat-c​​lient.html中提供了如何使用它的示例。