我正在使用websocket运行一个本地主机adonisjs项目。我按照adonis的入门教程 此处. 在服务器上的一切看起来都很好,但当我试图在我的react-native应用程序连接时,得到了这个错误。
{
"isTrusted": false,
"message": "Expected HTTP 101 response but was '400 Bad Request'",
}
This is my cliente code:
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)
})
我发现我的错误。当我们使用Adonis websocket在服务器端,我们需要添加 /adonis-ws
在ws路径的最后。好吧,把这个改了 const ws = new WebSocket("ws://192.168.0.11:3333")
对此 const ws = new WebSocket("ws://192.168.0.11:3333/adonis-ws")
现在工作了👍