龙卷风只能升级到websocket错误

2024-03-23

我正在使用龙卷风进行实时应用。我正在为此使用 Redis。 当我访问网址时127.0.0.1:8888/2/其中 2 是我的用户 ID 我收到错误消息can "Upgrade" only to websocket.

我不知道为什么我会收到此错误。这个错误是因为我的代码还是 websocket 的一些问题?

在我的 javascript 上我正在做ws = new WebSocket("ws://127.0.0.1:8888/" + user_id + "/");

当我做127.0.0.1:8888它打印我在 RequestHandler 的 get() 函数中打印的内容

需要建议


这是 Tornado 处理 WebSockets 的 GET 方法的开始:

@tornado.web.asynchronous
def get(self, *args, **kwargs):
    self.open_args = args 
    self.open_kwargs = kwargs

    # Upgrade header should be present and should be equal to WebSocket
    if self.request.headers.get("Upgrade", "").lower() != 'websocket':
        self.set_status(400)
        self.finish("Can \"Upgrade\" only to \"WebSocket\".")                                                                                                                                                                                                              
        return

因此,您收到的错误消息是由于您的请求中缺少“升级”标头而引起的,当您在浏览器中简单地获取 URL 时看到此消息,这并不是错误。但是,如果您使用您提供的 JS 代码,然后运行ws.send("message")例如,您应该能够在 Tornado WebSocketHandler 中捕获并处理此消息:

def on_message(self, message):
    print(message)  # print the message to a standard output
    self.write_message(message)  # throw it back to client
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

龙卷风只能升级到websocket错误 的相关文章

  • django 2.0 中的错误 404 静态文件

    我试图在 django 2 0 中找到我的所有静态文件 但是当我只运行服务器时 我收到 404 错误 这是我的设置代码 STATIC URL static STATIC ROOT var www example com static STA
  • 在 Ubuntu 11 上的 Apache 2 上使用 virtualenv 的多个 Django 应用程序

    我已经使用以下命令成功设置了一个 Django 应用程序virtualenv在 Ubuntu 和 Apache 2 上 使用WSGIPythonHome指令指向我的virtualenv地点 现在我需要创建一个单独的 Django 应用程序
  • 如何显示图像的其他图像是无

    经过我认真思考后 我只是不知道我的代码有什么问题以及如何修改它 问题是这样的 当用户插入 url 时 如果该 url 是指向 youtube 的链接 则需要显示 youtube 缩略图 如果该网址不是 YouTube 视频的链接 则需要显示
  • 在 Django 中为多个查询编写视图的最佳方法?

    这是一个简单的问题 我已经组织了我的模型 以便提供给页面的大多数对象都属于一种类型 项目 该模型包含各种属性 可以帮助我以不同的方式提供服务 我有文章和视频 它们由模型上的 类型 字段确定 类型 文章 等 我有一个列表视图 它显示项目模型中
  • Django 表单验证消息未显示

    我试图限制可以以表单上传的文件类型 大小和扩展名 该功能似乎有效 但未显示验证错误消息 我意识到if file size gt 4 1024 1024可能不是最好的方法 但我稍后会处理这个问题 这是 forms py class Produ
  • django 管理站点导航侧边栏搞砸了

    我最近在我的项目中添加了一个包并做了一个pip freeze gt requirements txt然后 然后我做了pip install r requirements txt到我的本地 它添加了一个侧边栏 I did a pip inst
  • python 2.7+ 中的组引用无效

    我正在尝试将我的网页 在 django 中创建 中的所有 WikiLink 类型的字符串转换为 html 链接 我正在使用以下表达式 import re expr r s A Z a z A Z a z s repl r a href 1
  • Django 找不到记录器“城市”的处理程序

    我正在尝试设置 Django Citieshttps github com coderholic django cities https github com coderholic django cities使用以下命令 sudo pyth
  • 在上下文中模拟计时,以使用 auto_now_add=True 的字段 DateTimeField 创建模型

    我想模拟时间以便能够set特定时间到某个类型的字段DateTimeField with auto now add True在我的测试期间 例如 class MyModel created at models DateTimeField au
  • 如何在Python中创建二维码而不将其另存为图像?

    我正在尝试使用以下代码在 Django 应用程序上使用 Python 制作二维码 def generate qr code reference qr qrcode QRCode version 1 error correction qrco
  • Django:使用 python-magic 在模型中进行文件字段验证

    我有一个包含文件字段的模型 我想将其限制为 pdf 文件 我在模型中编写了干净的方法 因为我还想检查管理和 shell 级别模型的创建 但它不适用于模型清理方法 然而 形式清洁方法正在发挥作用 class mymodel models Mo
  • 为什么 Django 的 URLField 默认截断为 200 个字符?

    我喜欢 Django 并且经常使用它 我发现它的大部分默认设置都是正常的 但有一个一直困扰着我 以至于我在每个项目中都覆盖了它 a 的默认最大长度URLField https github com django django blob st
  • 静态文件配置不正确

    我已经在 Heroku 上部署了简单的博客应用程序 它运行在Django 1 8 4 我在静态文件方面遇到了一些问题 当打开我的应用程序时 我看到Application Error页面 所以我尝试调试它并发现当我提交到 Heroku 时它无
  • django_debug_toolbar 和 Docker

    因此 我让 docker 和 Django 在本地工作 首先从 Dockerfile 构建一个映像 然后使用 Fig 获取 postgres 映像 将其链接到基础映像 然后运行本地服务器 除了 django debug toolbar 之外
  • 测试中的模型 - Django 1.7 问题

    我正在尝试将我的项目移植为使用 Django 1 7 除了一件事之外 一切都很好 测试文件夹内的模型 Django 1 7 新迁移在内部运行 migrate 命令 在运行syncdb之前 这意味着如果模型未包含在迁移中 它将不会填充到数据库
  • 尝试从 Django 模板更改语言时出现问题

    我需要包含两个按钮或链接以允许用户在英语和西班牙语之间更改语言 我读了the docs https docs djangoproject com en 1 5 topics i18n translation the set language
  • 扩展 Django 1.11 用户模型

    我正在尝试弄清楚如何扩展 Django 用户模型以向用户添加信息 我似乎无法让它发挥作用 我究竟做错了什么 我可以在扩展的同一模型中使用外键吗 如何创建超级用户 还是必须通过手动创建python manage py shell 到目前为止
  • 如何以编程方式在另一个视图中调用 Django Rest Framework 视图?

    我有以下使用 Django Rest 框架 DRF 构建的基于通用类的视图 class ExampleDetail generics RetrieveUpdateDestroyAPIView queryset Example objects
  • Django 自定义 UserManager 中的 self.model()

    所以 我对 Django 还很陌生 尽管我的代码在遵循 Django 文档 在 Django 中自定义身份验证 之后工作 但我不明白他们的示例中的 self model 实际如何工作 它来自哪里以及它如何与 自己 这是在文档底部找到的示例
  • 在子管理中显示父字段(list_display)

    这是 models py 的片段 class Applicant models Model name models CharField email models CharField class Application models Mode

随机推荐

  • C# 编码指南 [重复]

    这个问题在这里已经有答案了 可能的重复 C 编码标准 最佳实践 https stackoverflow com questions 14967 c coding standard best practices 您推荐哪些最流行 最合理且最详
  • 增加 gradle 的超时时间以获得 Maven 依赖

    我正在尝试通过以下方式从 Maven 获取 jar 依赖项grails 3 1 5 gradle依赖解析 如何增加 gradle 获取 Maven 依赖项所需的超时时间 当然 我已经看到依赖项需要更长的时间才能下载 但是我如何配置 grad
  • 从 flutter 应用程序中的 fireStore 获取带有索引的列表

    我正在尝试从 firestore 获取列表 但我遇到了索引问题 这是列表上普通项目的结构 每个对象都包含一个项目列表 class RestaurantFoodList final String id final String title L
  • 如何创建带有背景图像的倾斜透明形状?

    I want to achieve something like this it has a background image https imgur com cSde7ff I only able to make a slanted di
  • 由于 Javadoc 错误而无法构建 Maven 项目?

    有没有人遇到过类似的 Maven 错误 如下所示 由于以下错误 我无法构建我的项目 在我开始编写代码之前 一切都工作正常 我什至没有处理下面定义的接口 它似乎与 Javadoc 有关 ERROR Failed to execute goal
  • Trinidad/ADF Faces、文件上传、EOFException

    我在 Tomcat 8 5 服务器上的 web xml version 3 1 中使用 JSF 2 3 Mojarra 2 3 3 Trinidad 2 2 1 及其文件上传组件 tr inputFile 我收到以下异常 并且没有有效的上传
  • Winforms 窗体间切换

    我现在用的是winform 我有主表单 form1 还有一个打开 form2 的按钮 当我打开 form2 时 我希望 form1 消失 当用户单击 form2 上的 x 按钮时 我希望它关闭并返回到 form1 我不想使用模态窗口 pri
  • 进程资源不受 setrlimit 限制

    我编写了一个简单的程序 将其数据大小限制为 65Kb 并验证相同的情况 我分配了超过 65Kb 的虚拟内存 从逻辑上讲 如果我执行了所有正确的操作 如下所示 那么 malloc 调用应该会失败 不是吗 include
  • gcc(windows + MinGW) 是否在 inttypes.h 中定义了 SCNd8、SCNu8?

    include
  • 顺风旋转木马

    我想使用 Tailwind CSS 制作一个轮播 但我无法将一些纯 CSS 转换为顺风 CSS 如果无法将纯 CSS 转换为 tailwind CSS 请告诉我如何在我的 React 项目中添加该 CSS 我在用REACT 请帮我解决这个问
  • 如何在 Laravel 4 中构建带有子应用程序的平台?

    我需要开发几个具有共同功能和流程的网站 唯一会发生巨大变化的是CSS 甚至HTML也会通用 我在 Laravel 4 中组装这个结构时遇到了麻烦 因为我仍然是该框架的初学者 我需要有一个所有 子项目 都将继承的 超级项目 我需要能够在特定的
  • 如何通过Java执行cmd命令

    我正在尝试通过 Java 执行命令行参数 例如 Execute command String command cmd c start cmd exe Process child Runtime getRuntime exec command
  • WooCommerce 显示自定义列

    我想在 WooCommerce 后端显示一个附加列 在订单概述中 该列应包含我定义的自定义字段 交货日期 这个怎么做 如果有人仍然需要它 有关如何在 Woocommerce 订单列表中添加新列的说明 无需取消设置默认列 只需将其添加到您的f
  • 针对低内存使用情况,康威生命游戏的有效实现是什么?

    我正在寻找一种快速且节省内存的方法来实现康威的生命游戏 限制 96x128 板 大约 2kB 可用 RAM 和 52MHz 处理器 请参阅此处的技术规格 http www getinpulse com features http www g
  • 在Java中生成随机唯一的双精度值

    我需要一个 64 位浮点随机数的集合 并且它们应该是不同的 是否有为此的库例程 或者我应该手动搜索重复项 实际上 让数字不接近比一些非常小的常数 更重要 图书馆也有这样的例程吗 您可以使用streams为了那个原因 double array
  • 使用 Swift 构建 Cocoapod 并依赖于 Objective-C 框架

    我知道这里已经有一些关于这个主题的问题 但很少有人接受答案 而且我认为我没有找到与我完全相同的问题 我正在构建一个 Swift pod 在我的代码中我依赖于 Google Maps iOS SDK 它捆绑为 framework文件 该项目在
  • 如何将受邀用户与邀请人的公司/群组关联起来?

    我正在使用 Django django allauth 和 django invitations 我能够成功邀请用户加入该平台 但我想将他们与邀请者的公司关联起来 我已经阅读了 bee keeper django invitations 但
  • 我可以使用 Apache-Poi 将 Excel 电子表格格式化为流模式下的表格吗

    A regular spreadsheet tab in Excel can be made into a table by selecting the data and ctrl T This gives each column a he
  • 如何检测 Horizo​​ntalScrollView 内的视图何时接触另一个视图?

    所以我试图创建像滚动视图一样的 iMovie 我想在滚动视图内的图像触摸白线时得到回调 这样我就可以更改大图像 我怎样才能做到这一点 这个解决方案对我有用 也是我在对 Horizo ntalScrollView 的选项进行长期研究后能够找到
  • 龙卷风只能升级到websocket错误

    我正在使用龙卷风进行实时应用 我正在为此使用 Redis 当我访问网址时127 0 0 1 8888 2 其中 2 是我的用户 ID 我收到错误消息can Upgrade only to websocket 我不知道为什么我会收到此错误 这