Я хочу использовать Elm для моего веб-интерфейса и Rust для сервера. Но я столкнулся с проблемой, когда версия websockets из elm-socketio не работает с rust-websocket. Насколько я могу сказать, elm-socketio имеет версию websockets версии 2.0.0 (строка, которую я нашел в поиске socketio.js, которая поставляется с elm-socketio), в то время как rust-websocket имеет версию «13». В Rust исключение происходит, когда получена несогласованная версия. Я закомментирована проверкой версии просто чтобы посмотреть, что произойдет, и я получаю это:Elm websockets with the Rust server
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, к которой относится ржавчина-websocket (и имеет версию «13»)?
Вы предоставляете заголовок 'Sec-WebSocket-Key', где это необходимо? Кроме того, я думаю, что эти версии являются версиями * библиотек *, не обязательно версией протокола websocket. – Shepmaster
Знаешь, я понятия не имею. Я беру демо-сервер ржавчины и тестирую его с демо-клиентом вяза. Клиент elm работает, когда он запускается на сервере node.js, который поставляется для тестирования. Повторите эту версию, все, что я знаю на данный момент, заключается в том, что версия не соответствует ожидаемой ржавчине. Я посмотрю, смогу ли я получить его, чтобы распечатать, что его получение. – Bzzt
Хорошо, выглядит версия, которую видит ржавчина, - это «нет». да. – Bzzt