TCP 套接字到 Websocket?

2024-04-11

那里有很多 websocket -> 套接字包装器(比如网络套接字 https://github.com/kanaka/websockify)但是有相反的可用吗?具体来说,我希望能够使用应用程序连接到 TCP 套接字,并将代理转换为 websocket 并转换为另一个 websocket 服务器。


从 WebSocket 客户端桥接到 TCP 服务器是一种通用解决方案,它将较低级别的 TCP 协议封装到较高级别的 WebSocket 协议中。它允许浏览器(或其他 websocket 客户端)与任意 TCP 服务器进行通信。请注意,客户端 (JavaScript) 应用程序仍然必须能够对 TCP 服务器所使用的协议进行解码/编码。

反向操作不是通用的,需要对从 TCP 客户端应用程序到网桥的消息进行特殊的帧处理,以便网桥知道如何对发送到 TCP 服务器的 WebSocket 消息进行编码。 WebSockets 是基于消息的传输,而 TCP 是较低级别的流传输。 TCP 传输层在协议本身中没有消息的概念,因此必须在高层处理。换句话说,您必须做几乎与直接在应用程序中实现 WebSocket 客户端一样多的工作才能使 TCP 客户端应用程序与桥接应用程序进行通信。实际上,直接实现可能要少一些,因为已经有适用于大多数流行语言的 WebSocket 客户端库。

如果不更改客户端和网桥(以添加消息边界和操作码信息),您将无法通过网桥将预先存在的 TCP 客户端连接到现有的 WebSocket 服务器,否则您将需要一个忽略 WebSiocket 的特殊 WebSocket 服务器消息边界并将传入数据视为流(消息解析在更高层处理)。

也许您可以给出一个您认为这可能有用的用例?

免责声明:我做了websockify。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TCP 套接字到 Websocket? 的相关文章

  • Node.js 和 WebSockets (Socket.io) 单元测试

    有人可以使用 WebSockets Socket io 为 Node js 提供坚如磐石 极其简单的单元测试吗 我在 Node js 中使用 socket io 并在测试中查看了 socket io client 来建立与服务器的客户端连接
  • 如何使用Lua脚本语言打开Web套接字?

    作为初学者 我想在基于 Linux 的服务器上使用 Lua 打开一个 Web 套接字 该服务器应允许 Android 客户端连接到它 你能给我一些用Lua打开网络套接字的示例代码吗 您两周前已经问过同样的问题并得到了回答 LUA 脚本 We
  • TCP 套接字到 Websocket?

    那里有很多 websocket gt 套接字包装器 比如网络套接字 https github com kanaka websockify 但是有相反的可用吗 具体来说 我希望能够使用应用程序连接到 TCP 套接字 并将代理转换为 webso
  • nginx + python + websocket

    我如何配置nginx 最新版本 他们说它支持websockets 来支持WebSockets 我如何使用 python 来运行 websockets 连接 这就是我想要的 客户端使用 JavaScript 创建 WebSocket webs
  • Node.js ws 包上的正确错误处理

    我正在努力将基于 REST 的数据管道替换为基于 Websocket 的数据管道 但我无法找到所有可能出错的地方 该系统是生产系统 因此如果出现故障并且无法恢复 将会发生非常糟糕的情况 这是我到目前为止所得到的 客户端 let server
  • Websocket 在客户端返回 500,在服务器返回 101

    我们尝试使用 nginx ingress 控制器在 Kubernetes 集群上实现 WebSocket 入口 yaml apiVersion extensions v1beta1 kind Ingress metadata annotat
  • 跨浏览器选项卡共享 websocket?

    我们希望每个浏览器都有一个套接字 而不是浏览器中的每个选项卡都有一个套接字 我们怎样才能实现它呢 我读到了有关共享网络工作者的文章 这很有前途 对此的参考也值得赞赏 不幸的是 据我所知 共享网络工作者尚未被 Mozilla 或 Intern
  • 在 Web Worker 或 Service Worker 中运行 WebSocket - javascript

    我有来自不同站点的 9 个 websocket 连接 用于使用数据更新 DOM 目前 我正在连接所有网络套接字并监听所有网络套接字 并通过函数调用更新数据 我面临的问题是有很多 websocket 连接 并且存在内存和 CPU 使用问题 如
  • 我可以使用单个 websocket 服务器同时打开 2 个端口吗

    我是 websocket 编程的新手 目前我正在开发一个简单的 websocket 服务器 使用 c 可以响应 websocket 客户端 我设法在单个端口上使用 1 个客户端和 1 个服务器 我想知道是否可以打开 2 个端口 以便不同的客
  • 通过nodejs服务器+socket.io从mp3文件同步流式传输音乐

    我的服务器上有一个 mp3 文件 我希望所有访问该网址的客户都能同步收听该音乐 That is 假设该文件播放 6 分钟 我在上午 10 00 开始播放这首歌 上午 10 03 发出的请求应从歌曲的第 3 分钟开始收听 我所有的客户都应该同
  • Express-Session、Connect-Redis 和 einaros/ws

    我似乎在让 Express express session connect redis 和 websockets ws 很好地协同工作时遇到了一些麻烦 这很可能与我对这些模块和编码的总体理解还有限有关 这里的大部分代码取自存储库中的相应示例
  • 通过 WebSocket 发送 ArrayBuffer 的子段而不进行复制

    我正在填充一个ArrayBuffer与要通过发送的数据WebSocket 数据具有可变大小 因此在序列化时我动态扩展ArrayBuffer如所须 然而 当序列化过程完成时 我经常在缓冲区末尾有未使用的空间 我不想发送这些空间 可以将所需部分
  • 客户端通过 websocket 连接从后端服务器数据库表检索数据

    我使用以下服务器代码从 postgres 数据库检索数据 const express require express const app express const server require http createServer app
  • 与 Socket.io 保持连接

    我正在尝试使用 asterisk websocket 连接socket io 客户端 https github com socketio socket io client socket io connect url transports w
  • 从 Windows 命令行连接到 websocket

    是否可以从 Windows 命令行连接到 websocket 我已经从 Mac 终端使用了 WSCAT 但我似乎找不到替代方案 任何帮助 将不胜感激 Windows 中没有内置可与 WebSocket 配合使用的工具 虽然你可以使用teln
  • 如果我在不打算升级到 websocket 连接的 HTTP 请求中包含“Upgrade”和“Connection”标头,会发生什么情况?

    我有一个 Nginx 服务器块 用于代理对 node js 服务器的请求 该服务器同时提供 HTTP 内容和 WS websocket 内容 是否可以在不应升级到 Websocket 连接的请求上添加升级标头 即使用 Nginx 代理到服务
  • Flask-SocketIO 未使用 Gevent/Gevent-websocket

    我正在使用 Flask 和 Flask SocketIO 构建用于 websocket 通信的 Web 界面 数据 API 我想开始转向使用 Gevent Gevent websocket Gunicorn 以及最终使用 Nginx 进行负
  • 使用 Netty 将 websocket 与在 tomcat 中运行的 Spring Web 应用程序集成

    我有一个使用 Netty 的 Web 套接字服务器实现 例如监听端口 8081 和一个在 Tomcat 中运行的单独的 Spring Web 应用程序 在端口 80 中运行 我想以某种方式将所有来自 localhost 80 Websock
  • 在 Apache 上设置 websocket?

    所以我正在对 websockets 进行一些研究 我有几个问题似乎找不到明确的答案 如何在 Linux 服务器上设置 Web 套接字 有 Apache 模块吗 我可以吗have使用第 3 方 PHP 代码或类似代码 除了浏览器兼容性之外 问
  • 使用 WebSocket 是否会产生服务器成本?

    我已经离开了 PHP MySQL 的舒适区 因为语法 封装 过程的东西可能会让人沮丧 上周 我开始尝试并按照一些教程使用 Node js Socket IO 创建实时聊天应用程序 到目前为止 我从未使用过 WebSockets 做过任何事情

随机推荐

  • 如何使用 Solr Provider 控制 Sitecore ContentSearch 中嵌套查询的优先级?

    版本详情 我正在使用 Sitecore 7 5 build 141003 使用 Solr v4 7 作为搜索引擎 索引服务器 我还使用标准 Sitecore Solr 提供程序 没有自定义索引器 目标目标 我使用 Sitecore Cont
  • Rails - 重定向回来,除非上一页是艺术家页面

    我想重定向回上一页 除非上一页是我的 艺术家 控制器的 显示 操作 所以我想它看起来会是这样的 if previous page was artist show redirect to track artist track else red
  • 需要 bash 脚本和 awk 命令的帮助

    我需要一个 bash 脚本来递归打印文件夹名称和文件名 在 stdo p 中 例如 我有一个类似 earth plants flowers rose rose jpg 的文件夹结构 earth plant fruits apple appl
  • 将鼠标悬停在 XAML wpf 上时将按钮默认突出显示颜色更改为透明?

    我有一个带有透明背景的按钮 当我将鼠标移到按钮上时 按钮上明显会出现浅蓝色 默认颜色 我想要的是 即使鼠标位于按钮上方 我的按钮背景也应保持透明 我怎样才能在 XAML 中做到这一点 我已经搜索过但找不到与我的问题相关的任何内容 几乎每个示
  • 根据传递给控制器​​的参数动态创建查询

    在我的任务管理应用程序中 用户应该能够根据以下条件过滤任务 assignedTo priority status and or dueDate 我不确定如何创建动态查询 因为它将根据可用参数构建查询 例如 如果我有一个网址 例如 task
  • 如何将时间值的 NSString 表示形式转换为包含小时和分钟的两个 NSInteger?

    我正在深入研究 iOS 开发和 Objective C 语言 并正在构建一个闹钟应用程序以熟悉 SDK 和语言 我有一个NSString代表时间的对象 其范围 1 00 am to 12 59 am 我需要转换这个NSString一分为二N
  • data-reactroot 与 React 中的 Hydro 函数相关吗?

    我试图理解两者之间有什么区别ReactDOMServer renderToString and ReactDOMServer renderToStaticMarkup 在 React 16 8 6 上 这是我的理解 renderToStat
  • nosql 是什么意思?有人可以用简单的话向我解释一下吗?

    在这篇文章中堆栈溢出架构 http highscalability com stack overflow architecture我读到了一些叫做 nosql 的东西 我不明白它的意思 我试图在谷歌上搜索 但接缝我无法确切地了解它是什么 谁
  • 拖动手势活动时未引发 JavaFX KeyEvent

    所以我的问题是这样的 我正在实现一个 UI 创建工具 需要使用边缘上的拖动手势来调整元素的大小 当在检查是否按下修饰键时执行此拖动 即实现统一缩放 时会出现问题 当拖动手势处于活动状态时 永远不会引发键事件 因此我无法在拖动期间激活 停用此
  • Python 内置函数“compile”。它是干什么用的?

    我遇到了一个内置函数compile http docs python org 2 7 library functions html compile今天 虽然我阅读了文档 但仍然不明白它的用法或适用的地方 请任何人都可以举例说明此功能的使用
  • Python + Twisted + sqlanydb = abort()

    我通过官方 sqlanydb 驱动程序将 Twisted 11 与 SQLAnywhere 12 一起使用 一般来说 它工作得很好 但有时应用程序会因第一个查询中止而崩溃 如果一个查询有效 那么接下来的所有查询也都有效 然而我的测试很少通过
  • 如何检查数组是否多次具有值

    我想看看一个数组是否多次具有相同的值 例如 array array val1 val2 val3 val1 如您所见 在上面的数组中 有 2 x val1 要搜索数组是否包含值 我可以使用 in array 来完成 search in ar
  • PHPMyAdmin / MySql - 添加 ID 字段并自动填充 ID 号

    我有一个非常大的数据库表 近 2000 万条记录 这些记录没有唯一的 ID 号 所以 我插入了新字段 现在 我想用 ID 号填充它 从第一个 ID 号 10 000 001 开始增加 1 仅供参考 我在本地计算机上使用 WAMP 并且我已将
  • 在 keyup 事件上跳过 Primefaces 输入文本的验证,但在提交时验证

    我对输入文本有两个要求 p inputText 的值应立即通过 keyup event 显示在屏幕上的 h outputText 中 该值在数据库中应该是唯一的 我正在使用 Primefaces 4 0 JSF 2 2 以及 Glassfi
  • 将 DBF 文件导入 Sql Server

    我需要一些帮助来解决这个问题 因为我是存储过程的新手 我正在尝试使用此存储过程将 DBF 表导入到 Sql Server 2008 中 CREATE PROCEDURE spImportDB Add the parameters for t
  • 使用异常映射器的 JAX-RS

    我读到我可以创建一个实现javax ws rs ext ExceptionMapper它将把抛出的应用程序异常映射到Response目的 我创建了一个简单的示例 如果在保留对象时电话长度大于 20 个字符 该示例将引发异常 我期望异常映射到
  • 如何调整flexdashboard中的表格高度?

    我有一个 Flexdasboard 其中一个页面包含 1 个绘图 然后在其下面有一个表格 该表当前已被压缩 因此虽然它显示 25 行 但它们都在滚动选项中 因此您一次只能查看其中 2 行 我怎样才能改变这个 我目前正在使用以下代码进行编码
  • FluidPage 中的框,基本闪亮

    是否可以在经典闪亮应用程序中使用 box 元素 作为经典应用程序 我的意思是不是闪亮的仪表板 是的 这是可能的 你可以使用使用Shinydashboard https www rdocumentation org packages shin
  • 如何设置rdlc或ssrs报告中表格的最小行数?

    假设我想在表中设置最小行 当我的数据在表中未满时 只需插入空白行即可完全填充它 这个问题看起来很简单 但找到解决方案确实很难 所以我需要在这里分享一下 1 在表格中设置标题和1个绑定明细行 2 在表中插入空白行 只要您想要填充该行 组外 3
  • TCP 套接字到 Websocket?

    那里有很多 websocket gt 套接字包装器 比如网络套接字 https github com kanaka websockify 但是有相反的可用吗 具体来说 我希望能够使用应用程序连接到 TCP 套接字 并将代理转换为 webso