使用 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 - 自定义 JWT uid 字段键

使用 JWT 令牌使用 AdonisJS 注销

adonisjs 类似php laravel 的mvc 框架

adonisjs 类似php laravel 的mvc 框架

将现有数据库与 AdonisJS 一起使用

使用 adonisJs 从所有帖子中获取所有相关评论