使用 Adonisjs websocket 的 400 错误请求
Posted
技术标签:
【中文标题】使用 Adonisjs websocket 的 400 错误请求【英文标题】:400 Bad Request with Adonisjs websocket 【发布时间】:2020-05-19 02:21:23 【问题描述】:我正在使用 websocket 运行 localhost adonisjs 项目。我跟着阿多尼斯开始here。服务器中的一切看起来都不错,但是当我尝试在我的 react-native 应用程序中连接时,出现了这个错误:
"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】:我发现了我的错误。当我们在服务器端使用 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")
现在工作了?
【讨论】:
以上是关于使用 Adonisjs websocket 的 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章
adonisjs 类似php laravel 的mvc 框架