使用Adonisjs websocket的400错误请求

时间:2020-05-19 02:21:23

标签: javascript react-native websocket adonis.js

我正在使用websocket运行localhost adonisjs项目。我跟随阿多尼斯入门here。服务器中的所有内容看起来都不错,但是当我尝试在我的本机应用程序中连接时,出现此错误:

{
  "isTrusted": false,
  "message": "Expected HTTP 101 response but was '400 Bad Request'",
}

这是我的客户代码:

const ws = new WebSocket("ws://192.168.0.11:3333")

ws.onopen = () => {
    ws.send(JSON.stringify({
        t: 1,
        d: { topic: 'prelista:5999c0ea-6bbb-4e0f-9496-f62658bbac5' }
    }))
}

ws.onmessage = (e) => {
    console.log(e)
}

ws.onerror = (event) => {
    console.log(event)
}

这是我的服务器代码:

'use strict'

const Ws = use('Ws')

Ws.channel('prelista:*', ({ socket }) => {
  console.log(socket.topic)
})

1 个答案:

答案 0 :(得分:1)

我发现了我的错误。我们在服务器端使用Adonis websocket时,需要在ws路径的末尾添加/adonis-ws。好吧,将此const ws = new WebSocket("ws://192.168.0.11:3333") 更改为此const ws = new WebSocket("ws://192.168.0.11:3333/adonis-ws")

现在工作?