【问题标题】:How to open a connection to a WebSocket server in Crystal (use Crystal as client)如何在 Crystal 中打开与 WebSocket 服务器的连接(使用 Crystal 作为客户端)
【发布时间】:2015-09-19 02:20:47
【问题描述】:

我想使用 Crystal 作为客户端来使用 websocket 服务器连接。 Crystal 标准库是否提供 WebSocket 客户端库?

【问题讨论】:

    标签: websocket crystal-lang


    【解决方案1】:

    从 Crystal 0.8.0 开始,您应该能够:

    socket = HTTP::WebSocket.open("example.com", "/connect")
    socket.send "action"
    message = socket.receive
    

    更多详情请见https://github.com/manastech/crystal/pull/1369

    【讨论】:

    • “HTTP::WebSocket#receive”的参数数量错误(0 表示 1)重载为:- HTTP::WebSocket#receive(buffer : Slice(UInt8)) message = socket.receive( ) ^~~~~~~ 对这个有什么想法吗?
    • 对不起,它从 websocket 读取到缓冲区。例如:buf = Slice(UInt8).new; ws.read(buf); 没有缓冲 IO 只会读取一条消息并阻塞,直到一个消息准备好为止。
    • @JulienPortalier 使用最新版本的水晶最好的方法是什么?
    猜你喜欢
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    相关资源
    最近更新 更多