问题标签 [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.

0 投票
0 回答
14 浏览

node.js - Websocket在不同路由上连续发送()

正如标题所说:我正在尝试设置 websocket 连接,例如:

/admin将返回会话列表。然后对于每个会话,我需要发送更多数据,但/admin/${sessionX}

如果不建立新的 ws 连接,这是否可能?websocket.send() fun 并没有解释它是可能的。

谢谢

0 投票
0 回答
119 浏览

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。

0 投票
0 回答
200 浏览

node.js - 如何使用 nodejs ws 分别发送和接收消息

我从 npm 获得了这个代码示例,我将其用于我的一个项目:

我的问题:打开套接字后,我用 ws.send('{command:123}') 发送命令消息,我期望的是直接获取该命令的消息,然后我想发送另一个命令并从中获取消息新命令但分开。

在我发送命令并且有多个命令时,它只显示一条消息,但同时显示两个命令响应。所以我想要完成的是:

发送命令 接收消息 对该消息执行某些操作 发送另一个命令 对新消息执行某些操作

我希望我解释得很好。谢谢

0 投票
1 回答
29 浏览

javascript - 开始使用带有 Web 的音频 API:代码在桌面浏览器中有效,但在移动浏览器中无效

下面给出的代码用于从浏览器录制音频并同时播放。我的问题是这段代码在桌面浏览器上工作,但在两个平台上使用最新版本的 Chrome 浏览器时不能在移动浏览器上工作。谁能帮我这个?

0 投票
1 回答
58 浏览

c# - 已解决 - C# Service HttpClient 响应 null

我浏览了所有可能的帖子,但没有找到任何适合我的解决方案(没有更多看到进口的混乱),请帮忙。:(

我正在用 c# 构建一个 Windows 服务,我需要每 X 次调用一个 Web 服务并检查它是否必须做某事。(收集说明)

我附上整个代码:

问题是 Http 的结果是正确的,它在日志“响应 OK”中注册,所以它正在输入“if”,但它永远不会收集结果:

日志图像

谢谢!

0 投票
1 回答
7240 浏览

javascript - WebSocket 握手期间的 WebSockets WS 错误:意外的响应代码:200

尝试在 Heroku 上使用 ws 部署我的应用程序。在我的本地机器上一切正常,但在 Heroku 上部署后,我收到握手错误,响应状态为 200

这是我的服务器代码:

我的客户代码:

0 投票
1 回答
529 浏览

apache - 能够将 https 重定向到 http 但不能将 wss 重定向到 ws

我正在使用网络套接字。在 apache 中,我可以通过在配置文件中执行以下设置来从 https 重定向到 http:

但相同的配置(如上)我更改如下

我无法从 wss 重定向到 ws

在 Wss 的情况下,我在发送请求时使用以下网址:

0 投票
0 回答
43 浏览

c# - WCF:重命名 XML 中的 xsi:type

我正在使用 C# 中的 WCF 为一组特定的要求开发 SOAP 服务。我必须开发一种接受多种类型的方法,并且我做到了。但是,要求声明类型属性必须命名为“BaseType”。我找不到任何关于如何实现这一目标的文档。这里有什么想法吗?

当前的:

期望:

编辑:忘了提及我已将 WCF 切换为使用 XmlSerializerFormat 来满足向元素添加属性的其他一些要求

0 投票
1 回答
16 浏览

.net - 使用 .NET WS/SOAP 两个具有相同结构但方法名称不同的服务器

我正在连接到两个具有相同结构(相同输入、相同输出)但端点和方法名称不同的 SAP WS/SOAP。

我已将两个 WS 的描述符作为 Web 参考导入,现在我将它们与以下内容一起使用:

为了不构建两个单独的程序集并避免重复相同的代码,有没有办法只向每个服务器发出请求而保持其余代码相同?

0 投票
1 回答
137 浏览

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用来清理的时候。