问题标签 [ws]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Websocket在不同路由上连续发送()
正如标题所说:我正在尝试设置 websocket 连接,例如:
/admin
将返回会话列表。然后对于每个会话,我需要发送更多数据,但/admin/${sessionX}
如果不建立新的 ws 连接,这是否可能?websocket.send() fun 并没有解释它是可能的。
谢谢
node.js - 当流量通过 Cloudflare 路由时,WebSocket 连接从未完全建立
我使用名为 glitch.me 的服务来托管我的 Node.js 项目,它们只允许您在内部打开一个端口。目前,我的 Node.js 服务器只能处理 HTTP 请求,但 glitch.me 为我代理我的流量,有效地允许客户端使用 HTTPS 进行间接通信。我的项目在很大程度上依赖于 WebSockets 的使用,当通过 example.glitch.me(glitch.me 提供的 url)直接访问它时,它们可以完美地工作。但是,我需要将此项目连接到我的自定义域(example.xyz),其所有流量都通过 Cloudflare 代理。但是,当尝试通过我的自定义域(换句话说:通过 Cloudflare)建立 WebSocket 连接时,永远不会建立套接字连接。
现在,我意识到这听起来很具体,但我认为可以在这里概括:
WebSockets 工作:
- 客户端 => glitch.me => 我的后端
- 客户端 => A => 我的后端
网络套接字不工作:
- 客户端 => cloudflare => glitch.me => 我的后端
- 客户端 => A => B => 我的后端
注意: HTTP/HTTPS 仍然适用于这两个域。
每次建立 WebSocket 连接时,我都会在服务器端添加日志记录,果然服务器接收到了连接!但是,客户端永远不会收到通知,并且在 Chrome 开发者工具中它显示请求从未完成。请记住,当流量未通过 Cloudflare 路由时,一切正常。
我完全理解您可能无法根据提供给您的信息解决我的问题,但我并不是要您这样做。我的问题很简单:问题出在哪里?我的后端的响应是否一直卡在某个地方并且没有一直到达?我已经联系了 glitch.me 和 Cloudflare,他们都确认他们完全支持 WebSocket 流量。
我的问题最可能的原因是什么?从那里我可能可以修复它!
编辑:我在后端使用npm上的 ws 包,在前端使用标准 JavaScript WebSockets。
node.js - 如何使用 nodejs ws 分别发送和接收消息
我从 npm 获得了这个代码示例,我将其用于我的一个项目:
我的问题:打开套接字后,我用 ws.send('{command:123}') 发送命令消息,我期望的是直接获取该命令的消息,然后我想发送另一个命令并从中获取消息新命令但分开。
在我发送命令并且有多个命令时,它只显示一条消息,但同时显示两个命令响应。所以我想要完成的是:
发送命令 接收消息 对该消息执行某些操作 发送另一个命令 对新消息执行某些操作
我希望我解释得很好。谢谢
javascript - 开始使用带有 Web 的音频 API:代码在桌面浏览器中有效,但在移动浏览器中无效
下面给出的代码用于从浏览器录制音频并同时播放。我的问题是这段代码在桌面浏览器上工作,但在两个平台上使用最新版本的 Chrome 浏览器时不能在移动浏览器上工作。谁能帮我这个?
javascript - WebSocket 握手期间的 WebSockets WS 错误:意外的响应代码:200
尝试在 Heroku 上使用 ws 部署我的应用程序。在我的本地机器上一切正常,但在 Heroku 上部署后,我收到握手错误,响应状态为 200
这是我的服务器代码:
我的客户代码:
apache - 能够将 https 重定向到 http 但不能将 wss 重定向到 ws
我正在使用网络套接字。在 apache 中,我可以通过在配置文件中执行以下设置来从 https 重定向到 http:
但相同的配置(如上)我更改如下
我无法从 wss 重定向到 ws
在 Wss 的情况下,我在发送请求时使用以下网址:
c# - WCF:重命名 XML 中的 xsi:type
我正在使用 C# 中的 WCF 为一组特定的要求开发 SOAP 服务。我必须开发一种接受多种类型的方法,并且我做到了。但是,要求声明类型属性必须命名为“BaseType”。我找不到任何关于如何实现这一目标的文档。这里有什么想法吗?
当前的:
期望:
编辑:忘了提及我已将 WCF 切换为使用 XmlSerializerFormat 来满足向元素添加属性的其他一些要求
.net - 使用 .NET WS/SOAP 两个具有相同结构但方法名称不同的服务器
我正在连接到两个具有相同结构(相同输入、相同输出)但端点和方法名称不同的 SAP WS/SOAP。
我已将两个 WS 的描述符作为 Web 参考导入,现在我将它们与以下内容一起使用:
为了不构建两个单独的程序集并避免重复相同的代码,有没有办法只向每个服务器发出请求而保持其余代码相同?
node.js - 如何将额外数据附加到 WebSocket 连接,以便我可以在断开连接时进行清理
我npm ws
使用这个实现作为我的 WebSocket 服务器:
这是我的听众:
我正在使用套接字服务器来设置纸牌游戏。我能够附加ws
来自on("message
对象的连接(例如,player[id].ws = ws
),并且我能够使用附加的数据来发送消息(例如,ws.send(player[id].ws, ____);
)
我面临的挑战是当连接断开时,我需要清理玩家周围的所有游戏数据(游戏数据、玩家数据等)。但是,当"close"
侦听器触发时,ws
数据中没有任何数据,因此我可以识别谁丢弃并清理数据?
我希望能够on("message"
设置ws.playerId='ksjfej
,所以当我得到ws("close"
我可以ws.playerId
用来清理的时候。