带有Rust服务器的Elm websockets

时间:2015-09-23 18:03:51

标签: websocket rust elm

我想在我的网络前端使用Elm,在服务器上使用Rust。但是,我遇到了一个问题,即elm-socketio的websockets版本不适用于rust-websocket。据我所知,elm-socketio有websockets版本" 2.0.0" (一个字符串,我发现搜索socketio.js附带elm-socketio),而rust-websocket有版本" 13"。在Rust中,当收到不匹配的版本时会发生异常。我注释掉版本检查只是为了看看会发生什么,我得到了这个:

thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RequestError("Missing Sec-WebSocket-Key header")', src/libcore/result.rs:731

所以我想我的问题是,如果没有重要的工作,这两个可以相互合作吗?是否真的有一个版本2.0.0的websockets,它与RFC6455不同,这就是rust-websocket所指的(并且有版本&#34; 13&#34;)?

1 个答案:

答案 0 :(得分:5)

看来socket.io有它自己的协议(见https://github.com/socketio/socket.io-protocol)。 这很令人困惑,因为

  

“socket.io协议可以通过各种传输方式提供。”

Websockets是socket.io的可能传输层。 https://github.com/socketio/socket.io-protocol#transport

您需要找到一个rust-socket.io库。