带有Rust服务器的Elm websockets

Bzz*_*zzt 4 websocket rust elm

我想将Elm用于我的Web前端,而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
Run Code Online (Sandbox Code Playgroud)

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

z5h*_*z5h 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库.