我正在使用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)
})
答案 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")
现在工作?